äTóv
ÉCÉìÉ^Å[ÉlÉbÉgåüçıÇé¿çsÇ∑ÇÈç€Ç…ÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÇ¢Ç≠ǬǩÇÃÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇ…ÅAñ‚Ç¢çáÇÌÇπèÓïÒÇëóÇËÇ‹Ç∑ÅBåüçıÉTÉCÉgÇ©ÇÁñflÇ≥ÇÍÇΩèÓïÒÇÕSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ÇÊÇËâéflÇ≥ÇÍÅAàÍóóÇ≈Ç´ÇÈÇÊǧDžï\é¶Ç≥ÇÍÇ‹Ç∑ÅBǪÇÍǺÇÍÇÃÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇÕÅAǪÇÍǺÇÍå≈óLÇÃñ‚Ç¢çáÇÌÇπå`éÆÇΔÅAǪÇÃåãâ ÇÃèÓïÒÇÃå`éÆÇéùǡǃǢNjÇ∑ÇÃÇ≈ÅASherlockÇÕå¬ÅXÇÃÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇ…ëŒÇ∑ÇÈñ‚Ç¢çáÇÌÇπå`éÆÇÃê∂ê¨ÇΔÅAåãâ ÇÃèÓïÒÇÃç\ï∂âêÕÇçsǧÇΩÇflÇ…ÅAǪÇÃå`éÆÇãLèqǵÇΩÉvÉâÉOÉCÉìÇégǢNjÇ∑ÅBÉCÉìÉ^Å[ÉlÉbÉgåüçıÉvÉçÉoÉCÉ_Å[Ç™é©êgÇÃÉCÉìÉ^Å[ÉlÉbÉgâêÕÉvÉâÉOÉCÉìÇçÏê¨ÇµÇΩÇ¢èÍçáÅAÉCÉìÉ^Å[ÉlÉbÉgåüçıÉvÉâÉOÉCÉìÇÃèÕDžǪÇÃê‡ñæÇ™Ç†ÇËÇ‹Ç∑ÇÃÇ≈å©ÇƒÇ≠ÇæÇ≥Ç¢ÅB
SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAǪÇÃêVǵǢì‡óeÇäÓDžǵÇΩåüçıã@î\ÇΔÉCÉìÉ^Å[ÉlÉbÉgåüçıã@î\ÇÉAÉNÉZÉXÇ∑ÇÈAppleScriptÉRÉ}ÉìÉhÇíÒãüǵNjǵÇΩÅBDZÇÍÇÁÇÃÉRÉ}ÉìÉhÇ…ÇÕì‡óeÇ…ÇÊÇÈåüçıÇÃÉRÉ}ÉìÉhÅAÉ{ÉäÉÖÅ[ÉÄÇÃçıà¯ÇçÏÇÈÇΩÇflÇÃÉRÉ}ÉìÉhÅAǪǵÇΩÉCÉìÉ^Å[ÉlÉbÉgåüçıÇé¿çsÇ∑ÇÈÇΩÇflÇÃÉRÉ}ÉìÉhǙdžÇËÇ‹Ç∑ÅBDZÇÃã@î\ÇÃè⁄ç◊ÇÃê‡ñæÇÕAppleScriptÇÃÉTÉ|Å[ÉgÇÃèÕDždžÇËÇ‹Ç∑ÅB
S herlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAì‡óeÇéwíËǵÇΩåüçıÇ≈å©Ç¬Ç©Ç¡ÇΩÉtÉ@ÉCÉãÇÃÉIÅ[ÉvÉìÇÉtÉ@ÉCÉìÉ_Ç…àÀóäÇ∑ÇÈéûÅAÉtÉ@ÉCÉãÇ™ëIëÇ≥ÇÍÇΩóùóRÇ…ä÷Ç∑ÇÈèÓïÒÇÉtÉ@ÉCÉìÉ_Ç…ìnÇ∑'odoc'ÉAÉbÉvÉãÅEÉCÉxÉìÉgÇ…ïtÇØÇ‹Ç∑ÅBÉtÉ@ÉCÉìÉ_ÇÕDZÇÃèÓïÒÇ'odoc'Ç…ä÷òAǵÇΩÉvÉçÉpÉeÉBÇΔǵǃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ëóÇËÇ‹Ç∑ÅBÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕ'odoc'ÉAÉbÉvÉãÅEÉCÉxÉìÉgÇÃíÜÇÃDZÇÃèÓïÒÇ…ÉAÉNÉZÉXǵǃÅAÇ≥ÇÁÇ…êiÇÒÇæåüçıÇΔï\é¶ÇçsǧDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBkAEOpenDocumentsÇÃèÕDžLJǡÇΔè⁄ǵǢê‡ñæÇǵNjÇ∑ÅB
ì‡óeÇ…ÇÊÇÈåüçı(Find by Content)ÇÕÉRÅ[ÉhÅEÉtÉâÉOÉÅÉìÉgÅEÉâÉCÉuÉâÉä(Code Fragment Library)Ç≈é¿åªÇ≥ÇÍÇΩêVǵǢÉVÉXÉeÉÄ-ÉåÉxÉãÇÃã@î\Ç≈Ç∑ÅBSerlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕì‡óeÇ…ÇÊÇÈåüçıÇÉAÉNÉZÉXǵÅAì‡óeÇäÓDžǵÇΩåüçıÇçsǧç€Ç…ǪÇÃåüçıã@î\ÇóòópǵNjÇ∑ÅBÉfÉxÉçÉbÉpÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇ©ÇÁÇÃDZÇÃì‡óeÇ…ÇÊÇÈåüçıÇÃÉTÅ[ÉrÉXÇégÇ¢ÇΩÇ¢èÍçáÅA"Findby Content"(à¯ópïÑñ≥ǵ)ÇΔǢǧñºèÃÇÃPowerPCÉRÅ[ÉhÅEÉtÉâÉOÉÅÉìÉgÅEÉ}ÉlÅ[ÉWÉÉÇÃÉâÉCÉuÉâÉäÇóòópǵNjÇ∑ÅBÉãÅ[É`ÉìÇÃê‡ñæÇΔó·Ç™ì‡óeÇ…ÇÊÇÈåüçıÇÃèÕDždžÇËÇ‹Ç∑ÅB
ÉCÉìÉ^Å[ÉlÉbÉgåüçıÉvÉâÉOÉCÉì(Internet Search Plug-ins)
SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃ"ÉCÉìÉ^Å[ÉlÉbÉgåüçı(Search Internet)"ã@î\ÇégǡǃÅAÉÜÅ[ÉUÇÕÇ¢Ç≠ǬǩÇÃÉTÅ[É`ÅEÉGÉìÉWÉìÇóòópǵÇΩÉCÉìÉ^Å[ÉlÉbÉgåüçıÇçsǧDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìé©êgÇÕÅAå¬ÅXÇÃÉCÉìÉ^Å[ÉlÉbÉgÅEÉTÅ[É`ÅEÉGÉìÉWÉìÇ™ä˙ë“ǵǃǢÇÈÉfÅ[É^ÅAdžÇÈÇ¢ÇÕê∂ê¨Ç∑ÇÈÉfÅ[É^ÇÃê≥ämÇ»å`éÆÇéùǡǃǢNjÇπÇÒÅBdžÇÈÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇÉAÉNÉZÉXÇ∑ÇÈSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAÉTÉCÉgÇ™åüçıÇÃÇΩÇflÇ…ä˙ë“Ç∑ÇÈÉfÅ[É^ÇÃå`éÆÇΔåüçıåãâ ÇΔǵǃê∂ê¨Ç≥ÇÍÇÈÉfÅ[É^ÇÃå`éÆÇãLèqÇ∑ÇÈÅAåüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉã(Search Plug-in file)ÇΔåƒÇŒÇÍÇÈLJÇÃÇégǢNjÇ∑ÅB
ÉCÉìÉ^Å[ÉlÉbÉgåüçıÉCÉìÉ^Å[ÉtÉFÅ[ÉXåæåÍ(Internet Search Interface Language,ISIL)ÇÕÅAÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇÃä«óùé“ǙǪÇÃÉTÉCÉgÇÃåüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇíÒãüÇ∑ÇÈÇΩÇflDžǪÇÃì‡ïîÇ≈égÇÌÇÍÇÈåæåÍÇ≈Ç∑ÅBåüçıÉvÉâÉOÉCÉìÇÃÉfÅ[É^ÅEÉtÉHÅ[ÉNÇÕÅAåüçıÉTÉCÉgÇãLèqÇ∑ÇÈASCIIÉeÉLÉXÉgÇä‹ÇÒÇ≈ǢNjÇ∑ÅBÉäÉ\Å[ÉXÅEÉtÉHÅ[ÉNÇÕÅAÉJÉXÉ^ÉÄÅEÉAÉCÉRÉìÅAÉtÉ@ÉCÉìÉ_ÅEÉXÉgÉäÉìÉOǻǫÇ≈óòópÇ≈Ç´Ç‹Ç∑ÅBåüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇÃÉNÉäÉGÅ[É^ÅEÉRÅ[ÉhÇÕ'fndf''ÅAÉtÉ@ÉCÉãÅEÉ^ÉCÉvÇÕ'issp'Ç≈ÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAǪÇÍÇÁÇ™"ÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉg(Internet Search Site)"ÉtÉHÉãÉ_DždžÇÈÇΔÇ´îFéØÇµÇ‹Ç∑ÅBÉVÉXÉeÉÄÅEÉtÉHÉãÉ_ÇÃ(ï¬Ç∂ÇΩ)ÉAÉCÉRÉìÇ…ÉhÉçÉbÉvÇ≥ÇÍÇΩÇΔÇ´ÅAÉ^ÉCÉv'issp'ÇÃÉtÉ@ÉCÉãÇÕ"ÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉg(Internet Search Site)"ÉtÉHÉãÉ_Ç…é©ìÆà⁄ìÆÇ≥ÇÍÇ‹Ç∑ÅB
ISILÇ≈ÇÃãLèqñ@ÇÕHTMLÇ…ïÌǡǃǢNjÇ∑ÇÃÇ≈ÅAHTMLï∂ñ@Ç…ìÈêıÇ›ÇÃdžÇÈêlÇ»ÇÁÅAÇŸÇΔÇÒÇ«ñ‚ëËÇ»Ç≠é©êgÇ≈åüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇçÏÇÍÇÈÇΔévǢNjÇ∑ÅBDZÇÃåæåÍÇÃê≥ämÇ»édólÇÕÅAÉCÉìÉ^Å[ÉlÉbÉgåüçıÉCÉìÉ^Å[ÉtÉFÅ[ÉXåæåÍBNFÇÃèÕÇ≈è⁄ǵÇ≠ê‡ñæÇµÇ‹Ç∑ÅB
åüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇçÏÇÈÇÃÇ…ÇÕÅASimpleTextÇ≈ǩNjǢNjÇπÇÒÇ™ÅAÉeÉLÉXÉgÅEÉGÉfÉBÉ^Ç™ïKóvÇ≈Ç∑ÅBÇ‹ÇΩÅAÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇÃÉtÉ@ÉCÉãÅEÉ^ÉCÉvÇïœçXÇ∑ÇÈÉÜÅ[ÉeÉBÉäÉeÉBÇ™ïKóvÇ≈Ç∑ÅBà»â∫Ç…åüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇï“èWÇ∑ÇÈäÓñ{ìIÇ»ÉXÉeÉbÉvÇé¶ÇµÇ‹Ç∑ÅB
- ÉeÉLÉXÉgÅEÉGÉfÉBÉ^Ç≈ÉtÉ@ÉCÉãÇäJÇ≠Ç©çÏê¨ÇµÇƒÅAï“èWÇ∑ÇÈÅB
- .ïœçXǵÇΩåãâ Çï€ë∂ǵǃï¬Ç∂ÇÈÅB
- ÉtÉ@ÉCÉãÅEÉ^ÉCÉvÇ'TEXT'Ç©ÇÁ'issp'Ç…ïœÇ¶ÇÈÅB
- SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇégÇ¡ÇΩÅAÉtÉ@ÉCÉãÅiSherlockÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇ≈Ç∑ÅjÇÉeÉXÉgÇ∑ÇÈÅBǧNjÇ≠ǢǡÇΩÇÁäÆê¨ÅBèIóπÅB
- ÉtÉ@ÉCÉãÅEÉ^ÉCÉvÇ'issp'Ç©ÇÁ'TEXT'Ç…ïœçXÇ∑ÇÈÅB
- DZÇÃÉäÉXÉgÇÃÉXÉeÉbÉv1Ç÷çsÇ≠ÅB
ÉeÉLÉXÉgÅEÉGÉfÉBÉ^ǙǫÇÒÇ»ÉtÉ@ÉCÉãÅEÉ^ÉCÉvÇ≈LJï“èWÇ≈Ç´ÇÈÇÃÇ»ÇÁÅAï“èWÇ∑ÇÈÉtÉ@ÉCÉãÅEÉ^ÉCÉvÇïœçXǵǻÇ≠ǃLJÇ∑ǛNjÇ∑ÇÃÇ≈ÅAÉXÉeÉbÉv3ÇΔÉXÉeÉbÉv5ÇÕè»ó™Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕ"InternetåüçıÉTÉCÉg(Internet Search Site)"ÉtÉHÉãÉ_ÇÅAãNìÆéûÇ…1âÒÇæÇØÉXÉLÉÉÉìǵNjÇ∑ÅBåüçıÉTÉCÉgÅEÉtÉ@ÉCÉãÇÉeÉXÉgǵÇΩÇ¢èÍçáÇ…ÇÕÅAñàâÒSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇçƒãNìÆÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB
åüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉã
åüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇÕÅAwebÉyÅ[ÉWÇíËã`Ç∑ÇÈÇΩÇflÇ…égópÇ∑ÇÈHTMLÉeÉLÉXÉgÇΔìØólÇ»å`éÆÇÃASCIIÉeÉLÉXÉgÇéùǡǃǢNjÇ∑ÅBè]ǡǃÅAñ{ÉhÉLÉÖÉÅÉìÉgÇ≈ÇÕÅAHTMLÇê‡ñæÇ∑ÇÈÇΩÇflÇ…égópÇ∑ÇÈópåÍÇÅAISILÇÃï∂ñ@Çê‡ñæÇ∑ÇÈÇΩÇflÇ…égǢNjÇ∑ÅBÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇ…ä÷Ç∑ÇÈèÓïÒÇÕSEARCHÉ^ÉOÇΔǢǧÉâÉxÉãÇÃÉuÉçÉbÉNÇ™éùÇøÇ‹Ç∑ÅBDZÇÃÉuÉçÉbÉNÇÕÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™ÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇ…ñ‚Ç¢çáÇÌÇπÇëóÇÈï˚ñ@ÇãLèqǵÅAURLǻǫÇÃèÓïÒÇéùÇøÅAñ‚Ç¢çáÇÌÇπÇëóêMÇ∑ÇÈHTTPÉRÉ}ÉìÉhÇΔñ‚Ç¢çáÇÌÇπÉpÉâÉÅÅ[É^Ç…ä÷Ç∑ÇÈèÓïÒÇéùÇøÇ‹Ç∑ÅBSEARCHÉuÉçÉbÉNÇÃìTå^ìIÇ»îzíuÇÉäÉXÉg1Ç…é¶ÇµÇ‹Ç∑ÅB
ÉäÉXÉg1. åüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇÃSEARCHÉuÉçÉbÉNÇÃìTå^ìIÇ»îzíuÅF
<SEARCH
name = "<search engine name>"
method = ["get" | "post"]
action = "<url to address>"
[update = "<url containing update file>"]
[updateCheckDays = "<days between update pings>"]
[description = "<human-readable-description">]
[bannerImage = "<url containing banner image>"]
[bannerLink = "<url to load when banner clicked>"]>
....
<INPUT
name = "<input name>"
value = "<value>"
[mode = "results"]>
<INPUT
name = "<input name>"
value = "<value>"
[mode = "browser"] >
....
<INPUT
name = "<input name>"
user>
....
<INTERPRET
[bannerStart = "<text>"]
[bannerEnd = "<text>"]
? [relevanceStart = "<text>"]
[relevanceEnd = "<text>"]
? [resultListStart = "<text>"]
[resultListEnd = "<text>"]
[resultItemStart = "<text>"]
[resultItemEnd = "<text>"]
[skipLocal=true]
[charset = "<text>"]
[resultEncoding = <integer>]
[resultTranslationEncoding = <integer>]
[resultTranslationFont = "<text>"]>
....
</SEARCH> |
ÉTÅ[É`ÅEÉuÉçÉbÉNÇÕÅA<SEARCH...>É^ÉOÇ©ÇÁénÇ‹ÇË(ï\1Ç…é¶Ç≥ÇÍÇÈÇ¢Ç≠ǬǩÇÃëÆê´Çä‹Ç›)</SEARCH>É^ÉOÇ≈èIÇÌÇËÇ‹Ç∑ÅBåüçıÉTÉCÉgÇãLèqÇ∑ÇÈé¿ç€ÇÃÉTÅ[É`ÅEÉuÉçÉbÉNÇ≈ÇÕÅAÇ¢Ç≠ǬǩÇÃINPUTÉ^ÉOÇΔÇ–ÇΔǬÇÃINTERPRETÉ^ÉOÇéùÇøÇ‹Ç∑ÅBSEARCHÉuÉçÉbÉNÇÃëÆê´ÇÕÅAÇ«ÇÃÇÊǧDžåüçıÉTÉCÉgÇÉAÉNÉZÉXÇ∑ÇÈÇ©ÅAç≈êVÇÃåüçıÉvÉâÉOÉCÉìÇÃdžÇÈÉTÉCÉgÇÃèÍèäÇÕǫDZǩÇãLèqǵNjÇ∑ÅB
ï\1Å@SEARCHÉuÉçÉbÉNÇÃëÆê´
ëÆê´ñºèà |
ê‡ñæ |
name |
åüçıÉvÉâÉOÉCÉìÇÃêlä‘Ç™ì«ÇflÇÈñºèà |
method |
methodëÆê´ÇÕÅAHTTPÉTÅ[ÉoÇΔÇÃí êMÇ…ópÇ¢ÇÈHTTPÉRÉ}ÉìÉhÇÃÉ^ÉCÉvÇéwíËǵNjÇ∑ÅBåªéûì_Ç≈ÇÕ"GET"džÇÈÇ¢ÇÕ"POST"Çí êMñ@ÇΔǵǃéwíËÇ≈Ç´Ç‹Ç∑ÅB |
action |
åüçıÉTÅ[ÉoÇ÷ÇÃäÆëSURL(full URL)ÇéwíËǵNjÇ∑ÅBåãâ ÇÃÉäÉXÉgÇÃëSǃÇÃëäëŒÉäÉìÉNÇÕÅADZDZÇ≈éwíËǵÇΩURLÇégǡǃÉçÅ[ÉJÉâÉCÉYÇ≥ÇÍÇ‹Ç∑ÅB |
update |
DZÇÃëÆê´ÇÕÉIÉvÉVÉáÉìÇ≈ÅAç≈êVÇÃÉoÅ[ÉWÉáÉìÇÃåüçıÉvÉâÉOÉCÉìǙdžÇÈèÍèäÇéwíËǵNjÇ∑ÅBDZÇÃÉIÉvÉVÉáÉìÇ™éwíËÇ≥ÇÍÇΩèÍçáÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅADZÇÃURLÇíËä˙ìIÇ…É`ÉFÉbÉNǵǃÅAïœçXǙdžÇÈǩǫǧǩÇí≤Ç◊Ç‹Ç∑ÅBLJǵÅADZÇÃURLDždžÇÈÉtÉ@ÉCÉãÇ™åªç›ÉCÉìÉXÉgÅ[ÉãǵǃdžÇÈÉtÉ@ÉCÉãÇÊÇËêVǵǢDZÇΔÇ™ï™Ç©Ç¡ÇΩèÍçáÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAÉÜÅ[ÉUDžDZÇÃÉtÉ@ÉCÉãÇÉ_ÉEÉìÉçÅ[ÉhÇ∑ÇÈÇÊǧÉ_ÉCÉAÉçÅ[ÉOÇï\é¶ÇµÅAé©ìÆìIÇ…ÉCÉìÉXÉgÅ[ÉãǵNjÇ∑ÅBDZÇÃURLDždžÇÈÉtÉ@ÉCÉãÇÃÉtÉHÅ[É}ÉbÉgÇÕBinHexÇ≈Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒ(ǪÇÍà»äOÇÃà≥èkÇ‚ÉGÉìÉRÅ[ÉhÇÕã÷é~Ç≥ÇÍǃǢNjÇ∑)ÅB |
dateCheckDays |
DZÇÃëÆê´ÇÕÉIÉvÉVÉáÉìÇ≈ÅAupdateÇÃURLÇ≈éwíËÇ≥ÇÍǃǢÇÈÉtÉ@ÉCÉãÇÃç≈êVÇÃÉoÅ[ÉWÉáÉìÇÉ`ÉFÉbÉNÇ∑ÇÈì˙Ç…ÇøÇÃä‘äuÇéwíËǵNjÇ∑ÅBDZÇÃëÆê´Ç™ë∂ç›ÇµÇ»Ç¢èÍçáÅAè»ó™éûâéflÇÃ30ì˙Ç™égÇÌÇÍÇ‹Ç∑ÅB |
description |
DZÇÃëÆê´ÇÕÉIÉvÉVÉáÉìÇ≈ÅAÉTÅ[É`ÅEÉGÉìÉWÉìÅAǪÇÃî\óÕÅAåüçıåãâ ÇÃì‡óeÇÃéÌófiǻǫÇê‡ñæÇ∑ÇÈÉeÉLÉXÉgÇéwíËǵNjÇ∑ÅBÉÜÅ[ÉUÅEÉCÉìÉ^Å[ÉtÉFÅ[ÉXã@î\ÇÕÅADZÇÃÉeÉLÉXÉgÇóòópÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB |
bannerImage |
DZÇÃëÆê´ÇÕÉIÉvÉVÉáÉìÇ≈ÅAìñäYÉTÅ[É`ÅEÉGÉìÉWÉìÇégÇ¡ÇΩåüçıÇÃåãâ ÇÃè⁄ç◊ÉyÉCÉìÇ≈ï\é¶Ç≥ÇÍÇÈÉCÉÅÅ[ÉWÇÃURLÇéwíËǵNjÇ∑ÅB íç:INTERPRETÉ^ÉOÇÃbannerÉvÉçÉpÉeÉBÅ[ÇΔñ{ëÆê´Ç™ñµèÇÇ∑ÇÈèÍçáÅAINTERPRETÉ^ÉOÇÃéwíËÇ™óDêÊÇ≥ÇÍÇ‹Ç∑ÅB |
bannerLink |
DZÇÃëÆê´ÇÕÉIÉvÉVÉáÉìÇ≈ÅAbannerÉCÉÅÅ[ÉWÇ™ÉNÉäÉbÉNÇ≥ÇÍÇΩéûÇ…ÉçÅ[ÉhÇ≥ÇÍÇÈURLÇéwíËǵNjÇ∑ÅB íç:INTERPRETÉ^ÉOÇÃbannerÉvÉçÉpÉeÉBÇΔñ{ëÆê´ÇÃéwíËÇ™ñµèÇÇ∑ÇÈèÍçáÅAINTERPRETÉ^ÉOÇÃéwíËÇ™óDêÊÇ≥ÇÍÇ‹Ç∑ÅB |
INPUTÉ^ÉOÇÕHTTPÉTÅ[ÉoÇ…ëóÇÈGETdžÇÈÇ¢ÇÕPUTÉRÉ}ÉìÉhÇ™égǧÉfÅ[É^ÅEÉtÉBÅ[ÉãÉhÇç\ê¨Ç∑ÇÈÇΩÇflÇ…égÇÌÇÍÇ‹Ç∑ÅBÉfÅ[É^ÅEÉtÉBÅ[ÉãÉhÇÕHTTPÉVÉìÉ^ÉbÉNÉXÇégǡǃç\ê¨Ç≥ÇÍÅAmethodÉtÉBÅ[ÉãÉhÇ…ÇÊÇËÅAÉTÅ[ÉoÇ…ñ‚Ç¢çáÇÌÇπÇÈï˚ñ@Ç™åàíËÇ≥ÇÍÇ‹Ç∑ÅBÉTÅ[É`ÅEÉuÉçÉbÉNÇÕÅAÇ¢Ç≠ǬǩÇÃINPUTÉ^ÉOÇéùǬDZÇΔÇ™Ç≈Ç´Ç‹Ç∑Ç™ÅAINPUTÉ^ÉOÇÃÇ§ÇøUSER INPUTÉ^ÉOÇΔÇ»ÇÈÇÃÇÕÇ–ÇΔÇ¬ÇæÇØÇ≈Ç∑ÅB
INPUTÉ^ÉOÇ…ÇÕ2ǬÇÃÉÇÅ[ÉhǙdžÇËÇ‹Ç∑ÅBSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕ2ǬÇÃÉ^ÉCÉvÇÃñ‚Ç¢çáÇÌÇπÇëóÇÈDZÇΔÇ™Ç≈Ç´ÅAǪÇÃÇ–ÇΔǬÇÕåãâ ÇéÛÇØéÊÇÈÇΔÇ´ÇÃLJÇÃÇ≈ÅALJǧǖÇΔǬÇÕñ‚Ç¢çáÇÌÇπURLÇÉuÉâÉEÉUÇ…ëóÇÈÇΔÇ´ÇÃLJÇÃÇ≈Ç∑ÅB"result"ÉÇÅ[Éh(ÉfÉtÉHÉãÉg)ÇΔéwíËÇ≥ÇÍÇΩINPUTÉ^ÉOÇÕSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™ñ‚Ç¢çáÇÌÇπÇåüçıÉTÉCÉgÇ…ëóǡǃSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉEÉBÉìÉhÇÃåüçıåãâ ÇÃÉäÉXÉgÇ…ï\é¶Ç∑ÇÈÇΔÇ´Ç…égÇÌÇÍÇ‹Ç∑ÅB"browser"ÇΔï\é¶Ç≥ÇÍÇΩINPUTÉ^ÉOÇÕÅAÉuÉâÉEÉUÅEÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™ï\é¶Ç∑ÇÈÇΩÇflÇ…ëóÇÈÅAñ‚Ç¢çáÇÌÇπURLÇ≈éwíËǵNjÇ∑ÅBó·Ç¶ÇŒÅAâ∫ÇÃ2ǬÇÃINPUTÉ^ÉOÇÕÅAÇ–ÇΔǬÇÃÉTÅ[É`ÅEÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇ…ã§ë∂Ç≥ÇπÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
<input name="sv" value="AP" mode = "results">
<input name="sv" value="IS" mode = "browser">
DZDZÇ≈ÅA"sv"="AP"ÇÕÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ëóÇÁÇÍǃÅAåãâ Çï\é¶Ç∑ÇÈÇΩÇflÇ…égÇÌÇÍÅA"sv"="IS"ÇÕwebÉuÉâÉEÉUÇ…ëóÇÁÇÍǃåãâ Ç™ï\é¶Ç≥ÇÍÇ‹Ç∑ÅB
INTERPRETÉ^ÉOÇÕÅAÉTÉCÉgÇ…ëóÇÁÇÍÇΩñ‚Ç¢çáÇÌÇπÇ©ÇÁñflÇ≥ÇÍÇÈèÓïÒÇÃå`éÆÇãLèqǵNjÇ∑ÅBDZÇÃèÓïÒÇ…ÇÊÇËSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAå¬ÅXÇÃñ‚Ç¢çáÇÌÇπÇÃåüçıåãâ ÇíäèoǵÅAÉäÉXÉgÇÃå`éÆÇ…Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBï\2ÇÕINTERPRETÉ^ÉOÇ…éwíËÇ≈Ç´ÇÈÅAÇ≥NjǥNjÇΩëÆê´ÇãLèqǵǃǢNjÇ∑ÅBINTERPETÉ^ÉOÇ≈éwíËÇ≥ÇÍÇÈǪÇÍǺÇÍÇÃëÆê´ÇÕÅAì¡íËÇÃïîï™Ç…ÉfÉäÉ~É^(ãÊêÿÇË)ÇΔǵǃåªÇÍÇÈÉeÉLÉXÉgÉpÉ^Å[ÉìÇéwíËǵNjÇ∑ÅBDZÇÍÇÁÇÃëÆê´Ç™éwíËÇ≥ÇÍÇΩéûÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAéwíËÇ≥ÇÍÇΩÉeÉLÉXÉgÉpÉ^Å[ÉìÇégǡǃÅAÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇ©ÇÁï‘Ç≥ÇÍÇÈåãâ ÉyÅ[ÉWÇ©ÇÁÅAåüçıåãâ ÇíäèoǵNjÇ∑ÅB
ï\2Å@INTERPRETÉ^ÉOëÆê´
ëÆê´ñºèà |
ê‡ñæ |
resultListStart |
ÉTÅ[ÉoÇ™ï‘ǵÇΩåãâ ÇÃÉyÅ[ÉWÇÃíÜÇ≈ÅAåüçıåãâ ÇÃÉäÉXÉgÇÃêÊì™Ç…åªÇÍÇÈÉeÉLÉXÉgÉpÉ^Å[ÉìÇéwíËǵNjÇ∑ÅBresultListStartÇ™éwíËÇ≥ÇÍǃǢǻǢèÍçáÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕåãâ ÉyÅ[ÉWÇÃç≈èâÇ©ÇÁåãâ ÉäÉXÉgÇ™énÇ‹ÇÈÇΔâºíËǵNjÇ∑ÅB |
resultListEnd |
ÉTÅ[ÉoÇ™ï‘ǵÇΩåãâ ÇÃÉyÅ[ÉWÇÃǻǩÇ≈åüçıåãâ ÇÃÉäÉXÉgÇÃññîˆÇ…åªÇÍÇÈÉeÉLÉXÉgÉpÉ^Å[ÉìÇéwíËǵNjÇ∑ÅBresultListEndÇ™éwíËÇ≥ÇÍǃǢǻǢèÍçáÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕåãâ ÉyÅ[ÉWÇÃç≈å„Ç™åãâ ÉäÉXÉgÇÃññîˆÇ≈džÇÈÇΔâºíËǵNjÇ∑ÅBresultListStartëÆê´ÇΔresultListEndëÆê´ÇÕÅAåãâ ÉäÉXÉgÇãÊêÿÇÈÇΩÇflÇ…égÇÌÇÍÇ‹Ç∑ÅB |
resultItemStart |
åãâ ÇÃÉäÉXÉgÇÃå¬ÅXÇÃçÄñ⁄ÇÃêÊì™Ç…åªÇÍÇÈÉeÉLÉXÉgÉpÉ^Å[ÉìÇéwíËǵNjÇ∑ÅBåãâ ÉyÅ[ÉWÇÃíÜÇ≈éwíËÇ≥ÇÍǃÉeÉLÉXÉgÇ™àÍívǵÇΩèÍçáÅAÉeÉLÉXÉgÉpÉ^Å[ÉìÇÃÇ∑ÇÆå„Ç…ë±Ç≠ÉäÉìÉNÇ™ÉäÉXÉgÇΔǵǃÉÜÅ[ÉUÇ…ï\é¶Ç≥ÇÍÇ‹Ç∑ÅB |
resultItemEnd |
åãâ ÇÃÉäÉXÉgÇÃçÄñ⁄ÇãLèqÇ∑ÇÈÉeÉLÉXÉgÇÃññîˆÇ…åªÇÍÇÈÉeÉLÉXÉgÉpÉ^Å[ÉìÇéwíËǵNjÇ∑ÅBåãâ ÇÃÉäÉìÉNÇΔÅADZÇÃÉeÉLÉXÉgÉpÉ^Å[ÉìÇ…ä‘ÇÃÉeÉLÉXÉgÇ™è⁄ç◊ÉyÉCÉìÇ…ï\é¶Ç≥ÇÍÇ‹Ç∑ÅBresultStartëÆê´ÇΔresultEndëÆê´ÇÕÅAÉTÅ[ÉoÇ©ÇÁï‘Ç≥ÇÍÇΩåãâ ÇÃÉäÉXÉgÇÃå¬ÅXÇÃçÄñ⁄ÇãÊêÿÇÈÉeÉLÉXÉgÉpÉ^Å[ÉìÇíËã`Ç∑ÇÈÇΩÇflÇ…égÇÌÇÍÇ‹Ç∑ÅB |
bannerStart |
åüçıåãâ Ç…ï\é¶Ç∑ÇÈÉoÅ[ÉiÅ[ÉCÉÅÅ[ÉWÇÃà íuÇé¶Ç∑ÇΩÇflÇ…égÇÌÇÍÇÈÉeÉLÉXÉgÉpÉ^Å[ÉìÅBÉeÉLÉXÉgÉpÉ^Å[ÉìÇ…ë±Ç≠ç≈èâÇÃÉäÉìÉNÇ™bannerLinkÇΔǵǃégÇÌÇÍÅAç≈èâÇÃÉCÉÅÅ[ÉWÇ™bannerImageÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅBbannerStartëÆê´Ç…éwíËÇ≥ÇÍÇΩÉeÉLÉXÉgÉpÉ^Å[ÉìÇ™àÍívǵÇΩèÍçáÅAbannerLinkÇΔbannerImageÇ™SEARCHÉ^ÉOÇ≈ÇÃéwíËÇ…óDêÊǵNjÇ∑ÅB |
bannerEnd |
ÉoÅ[ÉiÅ[èÓïÒÇÃññîˆÇÃàÛÇΔÇ»ÇÈÉeÉLÉXÉgÉpÉ^Å[ÉìÇéwíËǵNjÇ∑ÅBåãâ ÉyÅ[ÉWÇ≈ÇÃbannerImageÇΔbannerLinkÇÃåüçıÇÕÅADZÇÃÉeÉLÉXÉgÉpÉ^Å[ÉìÇ™åªÇÍÇΩéûì_Ç≈èIóπǵNjÇ∑ÅBbannserStartëÆê´ÇΔbannerEndëÆê´Ç≈íËã`Ç≥ÇÍÇΩÉeÉLÉXÉgÉpÉ^Å[ÉìÇÕÅAåãâ ÇÃÉyÅ[ÉWÇ…åªÇÍÇÈÉoÅ[ÉiÅ[èÓïÒÇãÊêÿÇÈÇΩÇflÇ…égÇÌÇÍÇ‹Ç∑ÅB |
relevanceStart |
åãâ ÉäÉXÉgÇÃǪÇÍǺÇÍÇÃçÄñ⁄Ç…ëŒÇµÇƒÅAìKêÿÇ≥Ç…ä÷Ç∑ÇÈèÓïÒÇÃénÇ‹ÇËÇé¶Ç∑ÉeÉLÉXÉgÉpÉ^Å[ÉìÇéwíËǵNjÇ∑ÅBDZÇÍÇ™éwíËÇ≥ÇÍÇΩÇΔÇ´ÅADZÇÃÉpÉ^Å[ÉìÇÃå„Ç…ç≈èâÇ…å©Ç¬Ç©Ç¡ÇΩêîílÉeÉLÉXÉgǙǪÇÃçÄñ⁄ÇÃìKêÿìxÇΔǵǃâéflÇ≥ÇÍÇ‹Ç∑ÅBíç:ìKêÿìxÇï\Ç∑êîílÇÕ0Ç©ÇÁ100Ç‹Ç≈Ç≈Ç∑ÅB |
relevanceEnd |
ìKêÿìxèÓïÒÇÃññîˆÇé¶Ç∑ÉeÉLÉXÉgÉpÉ^Å[ÉìÇéwíËǵNjÇ∑ÅBìKêÿìxèÓïÒÇÃåüçıÇÕDZÇÃÉeÉLÉXÉgÇ≈èIóπǵNjÇ∑ÅBrelevanceStartëÆê´ÇΔrelevanceEndëÆê´ÇÕÅAå¬ÅXÇÃåüçıåãâ ÇÃìKêÿê´ÇÃêîílÇãÊêÿÇÈÇΩÇflÇ…égÇÌÇÍÇ‹Ç∑ÅBíç:ìKêÿìxÇï\Ç∑êîílÇÕ0Ç©ÇÁ100Ç‹Ç≈Ç≈Ç∑ÅB |
skipLocal |
skipLocalÇÕÉuÅ[ÉãëÆê´Ç≈Ç∑ÅBskipLocalÇ™trueÇÃèÍçáÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAactionëÆê´Ç≈éwíËÇ≥ÇÍÇΩSEARCHÉ^ÉOÇÃǻǩÇÃìØÇ∂ÉzÉXÉgÇ÷ÇÃÉäÉìÉNÇñ≥éãǵNjÇ∑ÅB |
charset |
HTMLÇ≈ÇÃåãâ Ç™ä˙ë“Ç∑ÇÈÉGÉìÉRÅ[ÉfÉBÉìÉOÅBDZÇÃëÆê´Ç…ÇÕcharset HTMLÉÅÉ^É^ÉOÇ≈égópÇ≈Ç´ÇÈîCà”ÇÃílÇ™ê›íËÇ≈Ç´Ç‹Ç∑ÅB |
resultEncoding |
HTMLÇ≈ÇÃåãâ ÇÃÉGÉìÉRÅ[ÉfÉBÉìÉOÅB<TextCommon.h>Ç≈íËã`Ç≥ÇÍÇΩîCà”ÇÃêÆêîÇ™éwíËÇ≈Ç´Ç‹Ç∑ÅB |
resultTranslationEncoding |
DZDZÇ≈éwíËÇ≥ÇÍÇΩÉGÉìÉRÅ[ÉfÉBÉìÉOÇ…HTMLÇ≈ÇÃåãâ Ç™ïœä∑Ç≥ÇÍÇ‹Ç∑ÅB<TextComman.h>Ç≈íËã`Ç≥ÇÍÇΩîCà”ÇÃêÆêîÇ™éwíËÇ≈Ç´Ç‹Ç∑ÅB |
resultTranslationFont |
ïœä∑Ç≥ÇÍÇΩÉeÉLÉXÉgÇ™ä˙ë“Ç∑ÇÈÉtÉHÉìÉgÇ≈Ç∑ÅB |
charsetëÆê´ÅAresultEncodingëÆê´ÅAresultTranslationEncodingëÆê´ÇΔresultTranslationFontëÆê´ÇÕÅAàŸÇ»Ç¡ÇΩÉLÉÉÉâÉNÉ^ÅEÉGÉìÉRÅ[ÉfÉBÉìÉOÇÃåãâ ÇâéflÇ∑ÇÈÇΩÇflÇÃLJÇÃÇ≈Ç∑ÅBåãâ ÉyÅ[ÉWÇ™HTMLÉÅÉ^É^ÉO"charset"ÇéùǬèÍçáÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™TextEncoding ConverterÇégǡǃÉhÉLÉÖÉÅÉìÉgÇMacintosh EncodingÇ…ïœä∑ǵNjÇ∑ÅB
ǵǩǵÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™ñºèÃÇégÇ¡ÇΩÉeÉLÉXÉgÅEÉGÉìÉRÅ[ÉfÉBÉìÉOÇÃâéflÇ™Ç≈ǴǻǢâ¬î\ê´Ç‡Ç†ÇËÇ‹Ç∑ÅBǪÇÃÇÊǧǻèÍçáÅAåüçıÉvÉâÉOÉCÉìÇÃçÏé“ÇÕÅAresultEncodingÇégǡǃÅAñ‚Ç¢çáÇÌÇπÇÃìöǶDžópÇ¢ÇÈÉLÉÉÉâÉNÉ^ÅEÉGÉìÉRÅ[ÉfÉBÉìÉOÇñæé¶ìIÇ…éwíËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBresultEncodingëÆê´Ç…éwíËÇ∑ÇÈílÇÕÉtÉ@ÉCÉãÇ≈íËã`Ç≥ÇÍÇΩîCà”ÇÃêÆêîíËêîÇéwíËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBìØólÇ…ÅAresultTransationEncodingÇÕÅAèàóùÇêiÇflÇÈëOÇ…ÉhÉLÉÖÉÅÉìÉgÇïœä∑Ç∑ÇÈÉeÉLÉXÉgÉGÉìÉRÅ[ÉfÉBÉìÉOÇéwíËÇ∑ÇÈÇΩÇflÇ…égÇÌÇÍÇ‹Ç∑ÅBDZÇÃëÆê´Ç≈égÇÌÇÍÇÈílLJNjÇΩÇ©ÇÁÇÃêÆêîÇÃíËêîÇ≈Ç∑ÅB
ó·Ç¶ÇŒÅAåüçıÉTÉCÉgÇ©ÇÁñflǡǃǴÇΩåãâ ÇÃÉyÅ[ÉWÇ™"euc-jp"ÉLÉÉÉâÉNÉ^ÉZÉbÉg(Ç≈ÇÕ"euc-jp"ÇÕkTextEncodingEUC_UP=2336Ç≈íËã`Ç≥ÇÍǃǢNjÇ∑)Ç≈ÉGÉìÉRÅ[ÉhÇ≥ÇÍǃǢǃÅAMac Japanese(>TextCommon.h>Ç≈ÇÕkTextEncodingMacJapanese=1Ç≈íËã`Ç≥ÇÍǃǢÇÈ)Ç…ïœä∑ǵÅA"Osaka"ÉtÉHÉìÉgÇ≈ï\é¶ÇµÇΩÇ¢ÇΔÇ∑ÇÈÇΔÅAà»â∫ÇÃÉLÉÉÉâÉNÉ^ïœä∑ÇÃílÇéwíËǵNjÇ∑ÅB
<interpret
resultEncoding = 2336
resultTranslationEncoding = 1
resultTranslationFont = "Osaka"
>
INTERPRETÉ^ÉOÇÕÉIÉvÉVÉáÉìÇ≈ÅAÇ‹ÇΩINTERPRETÉ^ÉOì‡ÇÃëÆê´Ç‡ÉIÉvÉVÉáÉìÇ≈Ç∑ÅBSEARCHÉuÉçÉbÉNÇ…INTERPRETÉ^ÉOǙǻǢèÍçáÅAåãâ ÉyÅ[ÉWëSǃÇåãâ ÇΔǵǃéÊÇËàµÇ¢ÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAëSǃÇÃÉäÉXÉgÇÉÜÅ[ÉUÇÃñ‚Ç¢çáÇÌÇπÇÃåãâ ÇΔǵǃï\é¶ÇµÇ‹Ç∑ÅB
ó·
DZÇÃó·ÇÕâÀãÛÇÃLJÇÃÇ≈Ç∑Ç™ÅAURLDždžÇÈÉTÉCÉgÇÃåüçıÉvÉâÉOÉCÉìÇçÏê¨Ç∑ÇÈLJÇÃÇΔǵNjÇ∑ÅB(DZÇÍÇèëǢǃǢÇÈéûì_Ç≈ÅADZÇÃÉTÉCÉgÇÕë∂ç›ÇµÇ‹ÇπÇÒÇ™ÅAà»â∫ÇÃï∂ÇÕÉTÉCÉgÇ™ë∂ç›ÇµÇƒÇ¢ÇÈÇ©ÇÃÇÊǧèëÇ©ÇÍǃǢNjÇ∑ÅBÉTÉCÉgǙdžǡÇΩÇΔǵǃÅAǪÇÃÉTÉCÉgÇÕãçå¢ÉNÉâÉâÇ…ä÷Ç∑ÇÈèÓïÒÇ™åüçıÇ≈Ç´ÇÈLJÇÃÇΔǵNjÇ∑ÅBñÏå¢ïflälàıà»äOÇÃêlÇ…ÅADZÇÃÉTÉCÉgǙǫÇÃÇÊǧDžñÇ…óßǬǩê‡ñæÇ∑ÇÈDZÇΔÇÕÅAì«é“Ç÷ÇÃèhëËÇΔǵNjÇ∑ÅB)
ÉXÉeÉbÉv1:ç≈èâÇ…ÅAwebÉuÉâÉEÉUÇégǡǃåüçıÉTÉCÉgÇ…çsÇ´ÅAwebÉyÅ[ÉWÇÃHTMLÉ\Å[ÉXÇå©ÇƒÇ≠ÇæÇ≥Ç¢ÅBHTMLÇÃǫDZǩDžà»â∫ÇÃFORMÉ^ÉOǙdžÇÈÇΔévǢNjÇ∑ÅB
<form action="http://clarus.apple.com/Titles" method="get" name="Search">
džÇÈÇ¢ÇÕactionÇ™à»â∫ÇÃÇÊǧDžÉçÅ[ÉJÉãÇ»ÉXÉgÉäÉìÉOÇ≈éwíËÇ≥ÇÍǃǢÇÈǩLJǵÇÍÇ‹ÇπÇÒÅB
<form action="/Titles" method="get" name="Search">
actionÇ™ÉçÅ[ÉJÉãÉXÉgÉäÉìÉOÇ≈éwíËÇ≥ÇÍǃǢÇÈèÍçáÅASEARCHÉ^ÉOÇÃactionëÆê´Ç≈ÇÕÅAÉAÉhÉåÉXÇëOÇ…ïtÇØÇƒÇ≠ÇæÇ≥Ç¢ÅBDZÇÍÇ‹Ç≈Ç…å©Ç¬Ç©Ç¡ÇΩèÓïÒÇ≈ÅAÉTÅ[É`ÅEÉuÉçÉbÉNÇÃç≈èâÇÃSEARCHÉ^ÉOÇç\ê¨Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
<search
name="Clarus"
description = "The Clarus Search Site"
action="http://clarus.apple.com/Titles/"
method=get>
HTMLÉ\Å[ÉXÇ©ÇÁactionÇ™http://clarus.apple.com/Titles/Ç≈ÅAí êMÇ…ìKǵÇΩmethodÇ™getÇ≈džÇÈDZÇΔÇ™åàÇflÇÁÇÍÇ‹Ç∑ÅBÉTÉCÉgÇÃñºëOÇΔê‡ñæÇÕìΔé©Ç…ê›íËǵNjÇ∑ÅB
ÉXÉeÉbÉv2:INPUTÉ^ÉOÇíËã`Ç∑ÇÈ
ÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgǙǫÇÃÇÊǧǻì¸óÕÇãÅÇflǃǢÇÈÇ©ímÇÈï˚ñ@ÇÕ2ǬdžÇËÇ‹Ç∑ÅBç≈èâÇÃï˚ñ@ÇÕéËçÏãΔÇ≈ñ‚Ç¢çáÇÌÇπÇé¿çsǵǃÅAÉTÅ[ÉoÇ…ëóÇÁÇÍÇÈURLÇäœé@Ç∑ÇÈDZÇΔÇ≈Ç∑ÅBëÊ2ÇÕHTMLÇå©ÇƒèÓïÒÇî≠å©Ç∑ÇÈDZÇΔÇ≈Ç∑ÅB
ñ‚Ç¢çáÇÌÇπÇ…ÇÊÇÈï˚ñ@ÅBÅ@ñ‚Ç¢çáÇÌÇπèÓïÒÇäœé@Ç∑ÇÈÇÃÇÕàÍî‘ä»íPÇ»ï˚ñ@Ç≈Ç∑ÅBó·Ç¶ÇŒÅAwebÉuÉâÉEÉUÇ≈åüçıÉTÉCÉgÇ…çsÇ´ÅAñ‚Ç¢çáÇÌÇπï∂éöóÒ"coffee"ÇΔÉ^ÉCÉvǵåüçıÇäJénÇ∑ÇÈÇΔÅAâ∫ÇÃÇÊǧǻURLÇäœé@Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
http://clarus.apple.com/Titles?qt=coffee&nh=10
DZDZǩÇÁì¸óÕÇå©Ç¬ÇØÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBì¸óÕÇÕ"?"ÇÃå„DždžÇËÅAÉAÉìÉpÉTÉìÉgï∂éö[&]Ç≈ï™ÇØÇÁÇÍǃǢNjÇ∑ÅBDZÇÃñ‚Ç¢çáÇÌÇπÇ≈ÇÕì¸óÕÇÕà»â∫ÇÃÇÊǧDžǻÇËÇ‹Ç∑ÅB
qt=coffee
nh=10
DZÇÃèÓïÒÇégǡǃÅAà»â∫ÇÃ2ǬÇÃINPUTÉ^ÉOÇçÏÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
<input name="qt" user>
<input name="nh" value="10">
åüçıÉTÉCÉgÇ≈ÇÕÅAǪÇÃëºÇÃÉpÉâÉÅÅ[É^Ç™óòópÇ≈Ç´ÇÈèÍçáǙdžÇÈÇÃÇ≈ÅAï ÇÃÉIÉvÉVÉáÉìÇ‚ñ‚Ç¢çáÇÌÇπÇéwíËǵǃǛÇÈÇΔÅAëΩÇ≠ÇÃóLâvÇ»èÓïÒÇ™ìæÇÁÇÍÇÈÇ≈ǵÇÂǧÅB
HTMLÇ…ÇÊÇÈï˚ñ@ÅBÅ@ì¸óÕÇÃURLÇ™å©ÇÁÇÍǻǢèÍçáÅAHTMLÉ\Å[ÉXÇí≤Ç◊Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBÇ≥ǃÅAì¸óÕÇÃãLèqÇåàÇflÇÈÇΩÇflÅAåüçıÉTÉCÉgÇÃwebÉyÅ[ÉWDždžÇÈINPUTÉ^ÉOÇÇ≥ǙǵNjǵÇÂǧÅBó·Ç¶ÇŒÅAà»â∫ÇÃÇÊǧǻå`éÆÇ≈džǡÇΩÇΔǵNjÇ∑ÅB
<form action="/Titles" method="get" name="Search">
<table width="100%" cellspacing=0 cellpadding=3 border=0>
<tr><td colspan=4>
Search</td>
<td align=center><a href="/Help?pg=Help.HTML"><b>Tips</b></a>
</td></tr>
<tr><td colspan=5>
<input type="text" name="qt" value="" size="25" MAXLENGTH=255>
</td></tr>
<INPUT TYPE=hidden NAME="nh" VALUE="10">
</table>
</form>
<form>É^ÉOÇΔ</form>É^ÉOÇÃä‘Ç…åüçıÉGÉìÉWÉìÇ…ÉAÉNÉZÉXÇ∑ÇÈÇΩÇflÇ…óòópÇ∑ÇÈ2ǬÇÃinputǙdžÇËÇ‹Ç∑ÅB
<input type="text" name="qt" value="" size="25" MAXLENGTH=255>
<INPUT TYPE=hidden NAME="nh" VALUE="10">
çƒÇ—ÅADZÇÃèÓïÒÇégǡǃÅAà»â∫ÇÃìÒǬÇÃì¸óÕÉ^ÉOÇ™ç\ê¨Ç≈Ç´Ç‹Ç∑ÅB
<input name="qt" user>
<input name="nh" value="10">
DZÇÍÇÁÇÃì¸óÕÉpÉâÉÅÅ[É^Ç‚àŸÇ»Ç¡ÇΩÉ^ÉCÉvÇÃñ‚Ç¢çáÇÌÇπURLÇèëǢǃé¿å±Ç∑ÇÈÇΔÅAǪÇÃà”ñ°Ç‚égópñ@Ç…ä÷ǵǃÅAóLâvÇ»èÓïÒÇ™ìæÇÁÇÍÇ‹Ç∑ÅBó·Ç¶ÇŒÅAâΩéÌófiÇ©ÇÃñ‚Ç¢çáÇÌÇπURLÇèëǢǃǛÇÈÇΔÅAnhÇ™ñ‚Ç¢çáÇÌÇπÇÃâûìöÇÃíÜÇÃÉqÉbÉgÇÃêîÇ≈džÇÈDZÇΔÇ™î≠å©Ç≈Ç´Ç‹Ç∑ÅBàÍìxÇ…10ÉqÉbÉgÇ≈ÇÕÇ»Ç≠25ÉqÉbÉgÇå©ÇΩÇ¢ÇΔÇ∑ÇÈÇΔì¸óÕÇà»â∫ÇÃÇÊǧDžïœçXǵNjÇ∑ÅB
<input name="qt" user>
<input name="nh" value="25">
Ç≥ǃÅAì¸óÕÇ™åàÇ‹ÇËè[ï™Ç»èÓïÒÇ™ìæÇÁÇÍÇΩÇÃÇ≈ÅAåüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇ™äÆê¨Ç≈Ç´Ç‹Ç∑ÅB
<search
name="Clarus Test"
description = "The Clarus Search Site"
action="http://clarus.apple.com/Titles/"
method=get>
<input name="qt" user>
<input name="nh" value="25">
</search>
ñ‚Ç¢çáÇÌÇπÇëóÇËåãâ Çï\é¶Ç∑ÇÈDZÇΔÇÕÇ≈ǴNjǵÇΩÇ™ÅAINTERPRETÉ^ÉOǙǻǢÇÃÇ≈ê≥ǵÇ≠ï\é¶Ç≥ÇÍǻǢâ¬î\ê´Ç™Ç†ÇËÇ‹Ç∑ÅBê≥ǵÇ≠ï\é¶Ç≥ÇπÇÈÇΩÇflÇ…ÇÕINTERPRETÉ^ÉOÇí«â¡ÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB
ÉXÉeÉbÉv3:INTERPRETÉ^ÉOÇ≈åãâ Çï\é¶Ç∑ÇÈ
ÉCÉìÉ^Å[ÉlÉbÉgåüçıÉGÉìÉWÉìÇÃâûìöÇÃǻǩÇÃÉfÉäÉ~É^Çå©Ç¬ÇØÇÈÇ…ÇÕÅAÇ¢Ç≠ǬǩÇÃñ‚Ç¢çáÇÌÇπÇǵÅAǪÇÃâûìöÇÃHTMLÉ\Å[ÉXÇí≤Ç◊ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBDZÇÃÉfÅ[É^Ç©ÇÁâûìöèÓïÒÇÃïKóvÇ»ïîï™ÇãÊêÿÇÈÉeÉLÉXÉgÅEÉpÉ^Å[ÉìÇå©Ç¬ÇØÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBó·Ç¶ÇŒà»â∫ÇÃLJÇÃÇ™ñ‚Ç¢çáÇÌÇπÇ…ëŒÇ∑ÇÈâûìöÇ≈džÇÈÇΔâºíËǵNjÇ∑ÅB
ÉäÉXÉg2Å@ñ‚Ç¢çáÇÌÇπÇ…ëŒÇ∑ÇÈHTMLâûìöÇÃÉTÉìÉvÉã
<HTML>
<HEAD><TITLE>Sample Results</TITLE></HEAD>
<BODY>
<A HREF="http://www.apple.com">
<IMG SRC="http://www.apple.com/main/elements/apple.gif"
ALT="Apple Computer"
</A>
?<P>
<SMALL>90%</SMALL>
<A HREF="http://www.apple.com/hotnews/">Hot News</A>
Apple Hot News - http://www.apple.com/hotnews
<BR><A HREF="http://www.apple.com">Apple Computer</A>
</P>
<P>
<SMALL>85%</SMALL>
<A HREF="http://www.apple.com/products/">Apple Products</A>
Apple - Products - http://www.apple.com/products
<BR><A HREF="http://www.apple.com">Apple Computer</A>
</P>
</BODY>
</HTML>
|
DZÇÃèÓïÒÇ©ÇÁÅAÉoÅ[ÉiÅ[ÅEÉZÉNÉVÉáÉìÇÕà»â∫ÇÃÇÊǧDžÉeÉLÉXÉgÉpÉ^Å[Éì"<BODY>"ÇΔ"<P>"Ç≈ãÊêÿÇÁÇÍÇÈDZÇΔÇ™ï™Ç©ÇËÇ‹Ç∑ÅB
bannerStart="<BODY>"
bannerEnd="<P>"
åãâ ÇÃÉäÉXÉgÇÕ""ÇΔ"<BODY>"Ç≈ãÊêÿÇÁÇÍǃǢNjÇ∑ÅB
resultListStart="</A>"
resultListEnd="</BODY>"
åãâ ÇÃÉäÉXÉgÇÃǻǩÇÃǪÇÍǺÇÍÇÃçÄñ⁄ÇÕÉeÉLÉXÉgÉpÉ^Å[Éì"<P>"ÇΔ"</P>"Ç≈Ç≠Ç≠ÇÁÇÍǃǢNjÇ∑ÅB
resultItemStart="<P>"
resultItemEnd="</P>"
ǪÇÍǺÇÍÇÃçÄñ⁄ÇÃìKêÿìxÇÕ"<SMALL>"ÇΔ"</SMALL>"Ç≈äáÇÁÇÍǃǢNjÇ∑ÅB
relevanceStart="<SMALL>"
relevanceEnd="</SMALL>"
DZÇÍÇÁÇçáÇÌÇπǃÅAåüçıÉvÉâÉOÉCÉìÇäÆê¨Ç≥ÇπÇÈÇΔà»â∫ÇÃÇÊǧDžǻÇÈÇ≈ǵÇÂǧÅB
<search
name="Clarus Test"
description = "The Clarus Search Site"
action="http://clarus.apple.com/Titles/"
method=get>
<input name="qt" user>
<input name="nh" value="25">
<interpret
bannerStart="<BODY>"
bannerEnd="<P>"
resultListStart="</A>"
resultListEnd="</BODY>"
resultItemStart="<P>"
resultItemEnd="</P>"
relevanceStart="<SMALL>"
relevanceEnd="</SMALL>">
</search>
ÉCÉìÉ^Å[ÉlÉbÉgÅEÉTÅ[É`ÇΔXMLÇ≈ÇÃåüçıåãâ
åüçıÉGÉìÉWÉìÇÕExtensible Makeup language(XML)ǻǫÇÃÉ}ÉVÉìâ¬ì«Ç»å`éÆÇÃÉCÉìÉ^Å[ÉtÉFÅ[ÉXÇíÒãüÇ∑ÇÈDZÇΔLJÇ≈Ç´Ç‹Ç∑ÅB
ÉäÉXÉg3.Å@XMLÉhÉLÉÖÉÅÉìÉgÇÃÉTÉìÉvÉã
<searchResponse>
<advertisement>
<a href="http://www.advertiser.com">
<img src="ad.gif">
</a>
</advertisement>
? <searchResults>
<resultItem>
<b><relevance>67%</relevance></b>
<link><a href="http://www.foo.com">Title</a></link><br/>
<summary>Summary</summary>
</resultItem>
</searchResults>
</searchResponse>
|
DZÇÃÉhÉLÉÖÉÅÉìÉgÇçÏǡǃǢÇÈéûì_Ç≈ÅAXMLÇÃédólÇÕäJî≠íÜÇ≈Ç∑Ç™ÅAåªèÛÇ≈ÇÃïWèÄÇégǡǃLJÅAXMLÇ≈ÇÃåãâ ÇÃÉäÉXÉgÇâéflÇ∑ÇÈåüçıÉvÉâÉOÉCÉìÇÕÅAä»íPÇ…ç\ê¨Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBó·Ç¶ÇŒÅAâ∫ÇÃINTERPRETÉ^ÉOÇÕÅAÉäÉXÉg3Ç…é¶ÇµÇΩXMLÉhÉLÉÖÉÅÉìÉgÇâéflÇ∑ÇÈåüçıÉvÉâÉOÉCÉìÇ≈ÅAåüçıÉvÉâÉOÉCÉìÇÇ«ÇÃÇÊǧDžê›íËÇ∑ÇÈÇ©ÇÃéQçlÇ…Ç»ÇÈÇΔévǢNjÇ∑ÅB
<interpret
bannerStart = "<advertisement>"
bannerEnd = "<</advertisement>"
resultListStart = "<<searchResults>"
resultListEnd = "</searchResults>"
resultItemStart = "<resultItem>"
resultItemEnd = "</resultItem>"
relevanceStart = "<relevance>"
relevanceEnd = "</relevance>">
ÉTÉCÉgä«óùé“Ç÷ÇÃÉqÉìÉg
ÉRÉÅÉìÉgïóÇÃÉfÉäÉ~É^(ãÊêÿÇËãLçÜ)
SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAåüçıÉvÉâÉOÉCÉìÇÃíÜÇÃèÓïÒÇóòópǵǃÅAÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇ©ÇÁÇÃHTMLÇ≈ÇÃåãâ ÇÃèÓïÒÇî≤Ç´èoǵNjÇ∑ÅBì¡Ç…ÅAåüçıÉvÉâÉOÉCÉìÇÃèÓïÒÇÕÅAâûìöèÓïÒÇÃíÜÇ≈ÉoÅ[ÉiÅ[èÓïÒÇΔåüçıåãâ ÇÃãÊêÿÇËÇå©Ç¬ÇØÇÈÇΩÇflÇ…égÇÌÇÍÇ‹Ç∑ÅBSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™àÍä—ǵǃåãâ Çå©Ç¬ÇØÅAï\é¶Çë±ÇØÇƒÇ¢Ç≠ÇΩÇflÇ…ÇÕÅAåüçıÉTÉCÉgÇΔåüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇ≈éwíËÇ≥ÇÍÇΩå`éÆÇΔÇÃìØä˙Ç™ÇΔÇÍǃǢÇÈÇ©î€Ç©Ç™èdóvÇ≈Ç∑ÅBåüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇ≈éwíËÇ≥ÇÍÇΩëÆê´Ç™ÅAè„ÇÃó·ÇÃÇÊǧǻè≠êîÇÃåãâ ÉtÉ@ÉCÉãÇ≈å©ÇÁÇÍÇÈì‡ïîìIÇ»ëÆê´Ç…àÀë∂ǵǃǢÇÈÇΔÇ∑ÇÈÇΔÅAåüçıÉTÉCÉgÇ™ê∂ê¨ÇµÇΩåãâ ÉyÅ[ÉWÇÃå`éÆÇ™ÅAÇŸÇÒÇÃè≠ÇµÇæÇØïœâªÇµÇΩÇæÇØÇ≈îÒìØä˙Ç™î≠ê∂ǵǃǵNjǢNjÇ∑ÅBDZÇÃñ‚ëËÇîÇØÇÈÇΩÇflÇ…ÅAåüçıÉTÉCÉgÇÃä«óùé“Ç…ÇÕÅAÉRÉÅÉìÉgÅEÉeÉLÉXÉgÇÉfÉäÉ~É^ÇΔǵǃégǢDZÇΔÇÇ∑Ç∑ÇflÇ‹Ç∑ÅBǪǧÇ∑ÇÈDZÇΔÇ≈ÅAåüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇÕÅAÉRÉÅÉìÉgÅEÉeÉLÉXÉgÇÉfÉäÉ~É^ÇΔǵǃégópÇ≈Ç´ÇÈÇÃÇ≈ÅAåªç›ÇªÇÃÉTÉCÉgÇ…ÉAÉNÉZÉXǵǃǢÇÈåüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇ™ìÆÇ©Ç»Ç≠Ç»ÇÈÇΔǢǧÉäÉXÉNñ≥ǵDžÅAåãâ ÉyÅ[ÉWÇ…ä‹ÇfiHTMLÇÃå`éÆÇïœçXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBó·Ç¶ÇŒÅAâ∫ÇÃINTERPRETÉ^ÉOÇ≈ÉäÉXÉg4Ç≈é¶Ç≥ÇÍÇÈHTMLâûìöèÓïÒÇâéflÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
bannerStart="<!-- BANNER START -->"
bannerEnd="<!-- BANNER END -->"
resultListStart="<!-- RESULT LIST START -->"
resultListEnd="<!-- RESULT LIST END -->"
resultItemStart="<!-- RESULT ITEM START -->"
resultItemEnd="<!-- RESULT ITEM END -->"
relevanceStart="<!-- RELEVANCE START -->"
relevanceEnd="<!-- RELEVANCE END -->"
DZÇÍÇÁÇÃÉeÉLÉXÉgÉfÉäÉ~É^ÇégǡǃÅAåüçıÉvÉçÉoÉCÉ_ÇÕÅAåªç›égópǵǃǢÇÈåüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇ™ìÆÇ©Ç»Ç≠Ç»ÇÈêSîzǻǵDžÅAâûìöÉyÅ[ÉWÇ…é©óRÇ…å`éÆèÓïÒÇí«â¡Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBëSǃÇÃåüçıÉTÉCÉgÅEÉvÉçÉoÉCÉ_ǙDZÇÃï˚ñ@Ç≈åüçıÉvÉâÉOÉCÉìÅEÉtÉ@ÉCÉãÇçÏê¨Ç∑ÇÈÇÊǧã≠Ç≠èßÇflÇ‹Ç∑ÅB
ÉäÉXÉg4.ÉfÉäÉ~É^ÉRÉÅÉìÉgÇñ‚Ç¢çáÇÌÇπÇä‹Çfiä»íPÇ»HTMLâûìö
<HTML>
<HEAD><TITLE>Sample Results</TITLE></HEAD>
<BODY>
?<!-- BANNER START -->
<A HREF="http://www.apple.com">
<IMG SRC="http://www.apple.com/main/elements/apple.gif"
ALT="Apple Computer"
</A>
<!-- BANNER END -->
?<!-- RESULT LIST START -->
?<!-- RESULT ITEM START -->
<P>
<SMALL>
<!-- RELEVANCE START -->
90%
<!-- RELEVANCE END -->
</SMALL>
<A HREF="http://www.apple.com/hotnews/">Hot News</A>
Apple Hot News - http://www.apple.com/hotnews
<BR><A HREF="http://www.apple.com">Apple Computer</A>
</P>
<!-- RESULT ITEM END -->
?<!-- RESULT ITEM START -->
<P>
<SMALL>
<!-- RELEVANCE START -->
85%
<!-- RELEVANCE END -->
</SMALL>
<A HREF="http://www.apple.com/products/">Apple Products</A>
Apple - Products - http://www.apple.com/products
<BR><A HREF="http://www.apple.com">Apple Computer</A>
</P>
<!-- RESULT ITEM END -->
?<!-- RESULT LIST END -->
?</BODY>
</HTML>
|
ÉoÅ[ÉiÅ[ÅEÉAÉh(Banner Advertizements)
>BR?
SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÉoÅ[ÉiÅ[ÅEÉZÉNÉVÉáÉìÇÃç≈èâÇ…å©ïtǩǡÇΩHTMLÉAÉìÉJÅ[(Ç∑Ç»ÇÌÇøÉnÉCÉpÅ[ÉeÉLÉXÉgÉWÉÉÉìÉvÇΔÉCÉÅÅ[ÉWÇä‹ÇfiLJÇÃ)ÇÉoÅ[ÉiÅ[ÉCÉÅÅ[ÉWÇΔǵǃégǢNjÇ∑ÅBç≈ó«ÇÃåãâ ÇìæÇÈÇΩÇflÇ…ÇÕÅAÉoÅ[ÉiÅ[ÅEÉAÉhÇÕÅAÉnÉCÉpÅ[ÉeÉLÉXÉgÅEÉWÉÉÉìÉv(HREFëÆê´)ÇΔÅASRCëÆê´ÇΔÇ≈Ç´ÇÍÇŒALTëÆê´Çä‹ÇfiIMGÉ^ÉOÇÃóºï˚Çä‹ÇfiÅAHTMLÉAÉìÉJÅ[Ç≈àÕÇ‹ÇÍÇÈÇ◊Ç´Ç≈Ç∑ÅBó·Ç¶ÇŒÅAâ∫Ç…é¶Ç∑HTMLÉAÉìÉJÅ[ÇÉoÅ[ÉiÅ[ÅEÉAÉhÇÃå`éÆÇΔǵǃèßÇflÇ‹Ç∑ÅB
<A HREF="http://www.apple.com">
<IMG SRC="http://www.apple.com/main/elements/apple.gif"
ALT="Apple Computer"
</A>
åãâ ÉäÉXÉg
åüçıåãâ ÇâéflÇ∑ÇÈÇΔÇ´ÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAÉnÉCÉpÅ[ÉeÉLÉXÉgÅEÉWÉÉÉìÉvëÆê´Çä‹ÇfiHTMLÉAÉìÉJÅ[ÇíTǵǃåãâ ÇîFéØÇµÇ‹Ç∑ÅBÉnÉCÉpÅ[ÉeÉLÉXÉgÅEÉWÉÉÉìÉv(HREFëÆê´)Çä‹ÇfiÉAÉìÉJÅ[Ç™ÅAresultItemStartÇΔresultItemEndÇ‹ÇΩÇÕresultItemStartÇÃä‘ÇÃÉeÉLÉXÉgÇ…è≠Ç»Ç≠ÇΔLJǖÇΔǬåªÇÍÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAǪÇÃÇÊǧǻÉeÉLÉXÉgÅEÉpÉ^Å[ÉìÇÃä‘ÇÃHTMLÇÃâéflÇǵÅAÇ‹ÇΩè≠Ç»Ç≠ÇΔLJǖÇΔǬÇÕǪÇÃÇÊǧǻÉAÉìÉJÅ[ǙdžÇÈÇΔévǡǃǢNjÇ∑ÅB
ÉCÉìÉ^Å[ÉlÉbÉgåüçıÉCÉìÉ^Å[ÉtÉFÅ[ÉXåæåÍÇÃBNF
É^ÉOÇÕëSǃÅAëÂï∂éöè¨ï∂éöÇÃãÊï ÇÇπÇ∏ÅAãÛîíÇÕñ≥éãÇ≥ÇÍÇ‹Ç∑ÅB
<search-interface> ::= <search-start> <input-interp-list> <search-end>
<search-start> ::= "<search " (<search-attribute> <req-S>)* ">"
<search-attribute> ::= <name> | <method> | <action> | <update> |
<updateCheckDays> | <description> |
<banner-link> | <banner-image>
<name> ::= "name" <attrib-assign>
<method> ::= "method" <attrib-assign>
<action> ::= "action" <attrib-assign>
<update> ::= "update" <attrib-assign>
<updateCheckDays> ::= "updateCheckDays" <attrib-assign>
<description> ::= "description" <attrib-assign>
<banner-link> ::= "bannerlink" <attrib-assign>
<banner-image> ::= "bannerimage" <attrib-assign>
<input-interp-list> ::= <input>* <interpret>? <input>*
<input> ::= "<input " (<input-attribute> <req-S>)* ">"
<input-attribute> ::= <name> | <value> | <user-select>
<value> ::= "value" <attrib-assign>
<user-select> ::= "user"
<interpret> ::= <interpret " (<interpret-attribute> <req-S>)* ">"
<interpret-attribute>::= <rl-start> | <rl-end> | <ri-start> | <ri-end>
<banner-start> | <banner-end> | <rel-start> |
<rel-end> | <skip-local>
<rl-start> ::= "resultListStart" <attrib-assign>
<rl-end> ::= "resultListEnd" <attrib-assign>
<ri-start> ::= "resultItemStart" <attrib-assign>
<ri-end> ::= "resultItemEnd" <attrib-assign>
<banner-start> ::= "bannerStart" <attrib-assign>
<banner-end> ::= "bannerEnd" <attrib-assign>
<rel-start> ::= "relevanceStart" <attrib-assign>
<rel-end> ::= "relevanceEnd" <attrib-assign>
<skip-local> ::= "skipLocal"
<attrib-assign> ::= <opt-S> "=" <opt-S> <attrib>
<attrib> ::= <quotestr> | <doublequotestr> | <noquotestr>
<quotestr> ::= '\'' [^']* '\''
<doublequotestr> ::= '"' [^"]* '"'
<noquotestr> ::= [^ ]*
<req-S> ::= (#x20 | #x09 | #x0D | #x0A)+
<opt-S> ::= (#x20 | #x09 | #x0D | #x0A)*
|
AppleScriptÇÃÉTÉ|Å[Ég
SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™íÒãüǵǃǢÇÈêVǵǢåüçıã@î\ÇÕAppleScriptÇÃÉXÉNÉäÉvÉgÇ©ÇÁÉAÉNÉZÉXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBAppleScriptÇÃÉXÉNÉäÉvÉgÇÕÅAÇ¢Ç≠ǬǩÇÃåüçıÉTÉCÉgÇégÇ¡ÇΩÉCÉìÉ^Å[ÉlÉbÉgåüçıÇSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…àÀóäÇ∑ÇÈDZÇΔÇ™Ç≈Ç´ÅAÇ‹ÇΩì‡óeÇéwíËǵǃÅAÉçÅ[ÉJÉãdžÇÈÇ¢ÇÕÉäÉÇÅ[ÉgDždžÇÈÉ{ÉäÉÖÅ[ÉÄÇÃíÜÇÃÉtÉ@ÉCÉãÇíTÇ∑DZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBÇ≥ÇÁÇ…AppleScriptÇÃÉXÉNÉäÉvÉgÇÕSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…åüçıåãâ Çï\é¶Ç≥ÇπÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
ÉCÉìÉ^Å[ÉlÉbÉgÇ≈íTÇ∑
ÉCÉìÉ^Å[ÉlÉbÉgÇ…ÇÊÇÈåüçıÇ…ÇÕ"search InternetÉRÉ}ÉìÉhÇégǢNjÇ∑ÅB"search Internet"ÉRÉ}ÉìÉhÇégǧÇΔAppleScriptÇÕñ‚Ç¢çáÇÌÇπÇ…ä÷Ç∑ÇÈèÓïÒÇΔÇΔLJDžÅAåüçıÇ…égǧÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇéwíËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBñ‚Ç¢çáÇÌÇπÇÃèÓïÒÇÕï∂éöóÒÇΔǵǃéwíËÇ∑ÇÈDZÇΔLJÅAñ‚Ç¢çáÇÌÇπèÓïÒÇéùǡǃǢÇÈÉtÉ@ÉCÉãÇ÷ÇÃéQèΔÇ≈éwíËÇ∑ÇÈDZÇΔLJÇ≈Ç´Ç‹Ç∑(Ç™ìØéûÇ…óºï˚ÇéwíËÇ∑ÇÈDZÇΔÇÕÇ≈Ç´Ç‹ÇπÇÒ)ÅBåüçıÇÃåãâ ÇÕÅAï∂éöóÒÇ…ÇÊǡǃï‘Ç≥ÇÍÇ‹Ç∑Ç™ÅASearlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…åãâ Çï\é¶Ç≥ÇπÇÈÇÊǧDžéwíËÇ∑ÇÈDZÇΔLJÇ≈Ç´Ç‹Ç∑ÅBíËã`1ÇÕSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃAppleScriptÉfÉBÉNÉVÉáÉiÉäÇÃ"search Internet"ÉGÉìÉgÉäÇ≈Ç∑ÅB
íËã`1Å@SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃ"search Internet"ÉfÉBÉNÉVÉáÉiÉä
search Internet: Search the Internet
search Internet string -- the Internet sites to search, optional
[for string] -- the text to look for...
[using alias] -- ...or a saved Find file containing the query
[display boolean] -- Specifies whether or not to display
the result (default is without display)
Result: string -- the URLs that match the query
|
"for"ÇΔ"using"ÉpÉâÉÅÅ[É^ÇÕÅAÇ®å›Ç¢Ç…îrëºìIÇ≈1ǬÇÃÉRÉ}ÉìÉhÇ≈ìØéûÇ…égǧDZÇΔÇÕÇ≈Ç´Ç‹ÇπÇÒÅBñ‚Ç¢çáÇÌÇπèÓïÒÇÕÅAï∂éöóÒÇ≈éwíËÇ∑ÇÈÇ©ÉtÉ@ÉCÉãÇÃíÜÇ≈éwíËÇ∑ÇÈÇ©ÇÃÇ«ÇøÇÁÇ©Ç≈Ç∑ÅBdisplayÉpÉâÉÅÅ[É^Ç™trueÇÃèÍçáÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™åüçıÇÃåãâ Çï\é¶ÇµÇ‹Ç∑ÅB
DZÇÃÉRÉ}ÉìÉhÇ÷ÇÃíºê⁄ÉIÉuÉWÉFÉNÉgÇÕÅAÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgñºÇÃÉäÉXÉgÇ≈Ç∑ÅBÉCÉìÉ^Å[ÉlÉbÉgåüçıÉTÉCÉgÇÃñºëOÇÃéwíËǙǻÇ≠ÅA"for string"ÉpÉâÉÅÅ[É^Ç™égÇÌÇÍÇΩèÍçáÅAíºëOÇÃÉCÉìÉ^Å[ÉlÉbÉgåüçıÇ≈égÇÌÇÍÇΩLJÇÃÇΔìØÇ∂ÉTÉCÉgÇ™åüçıÇ…égÇÌÇÍÇ‹Ç∑ÅBÉCÉìÉ^Å[ÉlÉbÉgÉTÉCÉgÇÃÉäÉXÉgÇÕ"using alias"ÉpÉâÉÅÅ[É^Ç≈éwíËÇ≥ÇÍÇΩèÍçáÇÕñ≥éãÇ≥ÇÍÇ‹Ç∑ÅB
ÉtÉ@ÉCÉãÇíTÇ∑
SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÅAì‡óeÇ…ÇÊÇÈåüçıã@î\Ç…ÉAÉNÉZÉXÇ∑ÇÈÇΩÇflÇ…ÅA2ǬÇÃAppleScriptÉRÉ}ÉìÉhÇ™íÒãüÇ≥ÇÍǃǢNjÇ∑ÅBç≈èâÇÃÉRÉ}ÉìÉhÇ≈AppleScriptÇÃÉXÉNÉäÉvÉgÇÕì‡óeÇÃäÓDžǵǃÉtÉ@ÉCÉãÇíTÇ∑DZÇΔÇ™Ç≈Ç´ÅAëÊìÒÇÃÉRÉ}ÉìÉhÇ≈AppleScriptÇÃÉXÉNÉäÉvÉgÇÕÅAì‡óeÇ…ÇÊÇÈåüçıÇ≈égǧÉCÉìÉfÉbÉNÉXÇì¡íËÇÃÉ{ÉäÉÖÅ[ÉÄÇ…çÏê¨ÇµÇΩÇËÅAçXêVǵÇΩÇËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB"search"ÉRÉ}ÉìÉhÇ…ëŒÇ∑ÇÈAppleScriptÉfÉBÉNÉVÉáÉiÉäÅEÉGÉìÉgÉäÇ™íËã`2Ç…é¶Ç≥ÇÍÅA"index volume"ÉRÉ}ÉìÉhÇ™íËã`3Ç…é¶Ç≥ÇÍǃǢNjÇ∑ÅB
search: Search disks or servers
search alias -- the volumes or folders to search, optional
[for string] -- the text to look for...
[similar to alias] -- ...or file(s) containing text for Find
by Content...
[using alias] -- ...or a saved Find file containing the query
[display boolean] -- (default is without display) Specifies
whether or not to display the result
Result: alias -- the files that match the query
|
"search"ÉRÉ}ÉìÉhÇ≈"for"ÉpÉâÉÅÅ[É^ÅA"similar to"ÉpÉâÉÅÅ[É^ÇΔ"using"ÉpÉâÉÅÅ[É^ÇÕå›Ç¢Ç…îrëºìIÇ»ÉpÉâÉÅÅ[É^Ç≈ÅAìØÇ∂ÉRÉ}ÉìÉhÇ≈ìØéûÇ…égǧDZÇΔÇÕÇ≈Ç´Ç‹ÇπÇÒÅB
ÉCÉìÉ^Å[ÉlÉbÉgåüçıÉRÉ}ÉìÉhÇΔìØólÇ…"using"ÉpÉâÉÅÅ[É^ÇégǧÇΔÅAñ‚Ç¢çáÇÌÇπèÓïÒÇñ‚Ç¢çáÇÌÇπï∂éöóÒÇ≈ÇÕÇ»Ç≠ÉtÉ@ÉCÉãÇ…ÇÊÇËéwíËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBǪÇÃÇΩÇflÇÃÉtÉ@ÉCÉãÇÕÅASharlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉtÉ@ÉCÉãÉÅÉjÉÖÅ[ÇÃ"Save Search Criteria"ÇégǡǃçÏÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
SearchÉRÉ}ÉìÉhÇÃíºê⁄ÉIÉuÉWÉFÉNÉgÇÕåüçıÇ∑ÇÈÉ{ÉäÉÖÅ[ÉÄdžÇÈÇ¢ÇÕÉtÉHÉãÉ_ÇÃÉäÉXÉgÇ≈Ç∑ÅB"search for"ÉpÉâÉÅÅ[É^džÇÈÇ¢ÇÕ"search similar to"ÉpÉâÉÅÅ[É^Ç™égópÇ≥ÇÍÇΩèÍçáÅA"search"ÉRÉ}ÉìÉhÇÕëSǃÇÃÉCÉìÉfÉbÉNÉXÇéùǬÉçÅ[ÉJÉãÉ{ÉäÉÖÅ[ÉÄÇåüçıǵNjÇ∑ÅB"using"ÉpÉâÉÅÅ[É^Ç™éwíËÇ≥ÇÍÇΩèÍçáÅAÉ{ÉäÉÖÅ[ÉÄÇÃÉäÉXÉgÇÕñ≥éãÇ≥ÇÍÇ‹Ç∑ÅB
É{ÉäÉÖÅ[ÉÄÇÕÉCÉìÉfÉbÉNÉXÇ™Ç»ÇØÇÍÇŒÅAì‡óeÇ…ÇÊÇÈåüçıã@î\Ç≈ÇÃÉ{ÉäÉÖÅ[ÉÄÇÃåüçıÇÕÇ≈Ç´Ç‹ÇπÇÒÅBÉCÉìÉfÉbÉNÉXÅEÉtÉ@ÉCÉãÇÕÉ{ÉäÉÖÅ[ÉÄÇÃÉãÅ[ÉgÉfÉBÉåÉNÉgÉäDždžÇÈ"TheFindByContentFolder"ÇΔåƒÇŒÇÍÇÈå©Ç¶Ç»Ç¢ÉtÉHÉãÉ_Ç…ï€ë∂Ç≥ÇÍǃǢǃÅAì‡óeÇ…ÇÊÇÈåüçıÇé¿çsÇ∑ÇÈÇΩÇflÇÃïKóvÇ»èÓïÒÇéùǡǃǢNjÇ∑ÅBÉ{ÉäÉÖÅ[ÉÄÇ…ÉCÉìÉfÉbÉNÉXÇ™Ç»ÇØÇÍÇŒÅAì‡óeÇ…ÇÊÇÈåüçıã@î\ÇégÇ¡ÇΩåüçıÇÕÇ≈Ç´Ç‹ÇπÇÒÅBAppleScriptÇÃÉXÉNÉäÉvÉgÇÕSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ÅAÇ¢Ç≠ǬǩÇÃÉ{ÉäÉÖÅ[ÉÄÇÃÉCÉìÉfÉbÉNÉXÉtÉ@ÉCÉãÇÃçXêVdžÇÈÇ¢ÇÕçÏê¨ÇàÀóäÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
íËã`3.SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃ"index volumes"ÉfÉBÉNÉVÉáÉiÉäÉGÉìÉgÉä
index volumes: Create or update the index(es) of the specified volume(s)
index volumes alias -- list of volumes
|
kAEOpenDocumentsÉAÉbÉvÉãÉCÉxÉìÉgÇÃÉpÉâÉÅÅ[É^ÇÃí«â¡
ÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ëŒÇµÇƒÅAÉÜÅ[ÉUÇ™ãªñ°ÇéùǬÉhÉLÉÖÉÅÉìÉgÇëIëǵǃï\é¶Ç∑ÇÈÇΩÇflÇ…óLópÇ»èÓïÒÇíÒãüÇ∑ÇÈÇΩÇflÇ…ÅAì‡óeÇ…ÇÊÇÈåüçıÇ…ÇÊǡǃíTǵèoÇ≥ÇÍÇΩÉtÉ@ÉCÉãÇÅAÉÜÅ[ÉUÇ™SherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃÉEÉBÉìÉhÇÃÇ–ÇΔǬǩÇÁǪÇÍÇäJÇ¢ÇΩÇΔÇ´ÅASherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕǪÇÃÉtÉ@ÉCÉãÇÃåüçıÇ…ä÷Ç∑ÇÈèÓïÒÇÅAÉtÉ@ÉCÉãÇäJÇ≠ÇΩÇflÇÃkAEOpenDocuments('odoc')ÉAÉbÉvÉãÉCÉxÉìÉgÇ…ë}ì¸ÇµÇ‹Ç∑ÅBSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕkAEOpenDocumentsÉAÉbÉvÉãÉCÉxÉìÉgÇéÛÇØéÊÇ¡ÇΩÇΔÇ´ÅAÉhÉLÉÖÉÅÉìÉgÇéùǡǃǢÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÇÉâÉìÉ`ǵǃÉCÉxÉìÉgÇÉAÉvÉäÉPÅ[ÉVÉáÉìÇ…ëóÇËÇ‹Ç∑ÅBDZÇÃÉ^ÉCÉvÇÃkAEOpenDokumentsÉAÉbÉvÉãÉCÉxÉìÉgÇÕkeyAEPropData(AERegitry.hÇ≈íËã`Ç≥ÇÍǃǢNjÇ∑)ÉpÉâÉÅÅ[É^Çä‹ÇÒÇ≈ǢNjÇ∑ÅBkeyAEPropDataÉpÉâÉÅÅ[É^Ç…ÇÕÉLÅ[ÉèÅ[Éh'srwd'Ç≈éØï Ç≥ÇÍÇÈëÆê´Ç™Ç†ÇËÅAǪDZDžÇÕÉtÉ@ÉCÉãÇíTÇ∑ÇΔÇ´Ç…égÇ¡ÇΩå≥ÇÃñ‚Ç¢çáÇÌÇπï∂éöóÒÇ™ä‹Ç‹ÇÍǃǢNjÇ∑ÅB'srwd'ëÆê´ÇÕCÉXÉ^ÉCÉãÇÃï∂éöóÒÇ≈Ç∑ÅB
ÉäÉXÉg5Å@'odoc'ÉAÉbÉvÉãÉCÉxÉìÉgÇ©ÇÁåüçıåÍÇéÊÇËèoÇ∑ÅB
OSErr GetSearchWordsFromAppleEvent(AppleEvent* inAppleEvent,
char* theText, long *maxLength)
{
OSErr err;
AERecord propData;
DescType outType;
/* set up our variables */
AECreateDesc(typeNull, NULL, 0, &propData);
if (maxLength == NULL || theText == NULL) return paramErr;
if (*maxLength > 255) return paramErr;
/* get the property data from the Apple event */
err = AEGetParamDesc(inAppleEvent,
keyAEPropData, typeAERecord, &propData);
/* extract the search words information */
if (err == noErr)
err = AEGetKeyPtr(&propData, 'srwd', typeChar,
&outType, theText, *maxLength, maxLength);
/* clean up and return */
AEDisposeDesc(&propData);
return err;
}
|
ÉäÉXÉg5ÇÃó·Ç≈ÇÕÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™kAEOpenDocumentsÉAÉbÉvÉãÉCÉxÉìÉgÇ©ÇÁñ‚Ç¢çáÇÌÇπèÓïÒÇî≤Ç´èoÇ∑ï˚ñ@Çé¶ÇµÇƒÇ¢Ç‹Ç∑ÅBDZDZÇ≈ÉãÅ[É`ÉìÇÕkeyAEPropDataÉpÉâÉÅÅ[É^Çî≤Ç´èoǪǧÇΔǵǃǢǃÅAëÆê´ÉfÅ[É^Ç©ÇÁ'srwd'èÓïÒÇà¯Ç´èoǪǧÇΔǵǃǢNjÇ∑ÅBñ‚ëËǙǻÇ≠ÅA'srwd'ÉfÅ[É^Ç™ë∂ç›ÇµÇƒÇ¢ÇÈèÍçáÅAå≥ÇÃñ‚Ç¢çáÇÌÇπÉeÉLÉXÉgÇÕtheTextÇ≈éwÇ≥ÇÍÇÈÉoÉbÉtÉ@Ç…ï‘Ç≥ÇÍÅAmaxLengthÇ…ï∂éöóÒÇÃí∑Ç≥(ññîˆÇÃÉ[ÉçÇÃÉoÉCÉgLJä‹Çfi)Ç™ê›íËÇ≥ÇÍÅAä÷êîÇÕnoErrÇï‘ǵNjÇ∑ÅB
DZÇÃí«â¡Ç≥ÇÍÇΩÉoÉâÉÅÅ[É^ÇÕÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™Inside Macintosh:Interapplication CommunicationÇÃ"Respoinding to Apple Events"ÇÃèÕÇ…íËÇflǃdžÇÈÉKÉCÉhÉâÉCÉìÇ…âàǡǃçÏÇÁÇÍǃǢÇÈå¿ÇËÅAǪÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃìÆçÏÇ…âeãøÇó^ǶNjÇπÇÒÅBǵǩǵÅAÉAÉvÉäÉPÅ[ÉVÉáÉìDždžÇÈǪÇÃêVǵǢèÓïÒÇÕÅAÉÜÅ[ÉUÇ™ç≈èâÇ…å©ÇΩÇ¢ÉhÉLÉÖÉÅÉìÉgÇÃèÍèäÇÃéËǙǩÇËÇ»ÇÃÇ≈ÅAǧNjÇ≠óòópÇ∑ÇÈÇΔï÷óòÇ≈Ç∑ÅBkAEOpenDocumentsÉAÉbÉvÉãÉCÉxÉìÉgÇ…'srwd'èÓïÒǙdžÇÈÇΔåæÇ§Ç±ÇΔÇÕÅAÉÜÅ[ÉUÇ™ì‡óeÇ…ÇÊÇÈåüçıÇçsÇ¢ÅAåüçıÇ≈å©ïtǩǡÇΩÉtÉ@ÉCÉãÇÃÉäÉXÉgÇ©ÇÁÉtÉ@ÉCÉãÇëIëǵǃäJÇ¢ÇΩÇΔǢǧDZÇΔÇé¶ÇµÇƒÇ¢Ç‹Ç∑ÅBó·Ç¶ÇŒÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕǪÇÃåÍÇ™ï∂éöóÒDždžÇÍÇŒÅAǪÇÃëSǃÇÉnÉCÉâÉCÉg(ã≠í≤ï\é¶)ǵÅAǪÇÃç≈èâÇÃïîï™Çå©ÇπÇÈDZÇΔLJÇ≈Ç´ÇÈǵÅAdžÇÈÇ¢ÇÕÇ¢Ç≠ǬǩÇÃñ‚Ç¢çáÇÌÇπçÄñ⁄ÇLJǬÅAǪÇÃåÍÇ…ä÷Ç∑ÇÈåüçıÉEÉBÉìÉhÇï\é¶Ç∑ÇÈDZÇΔLJÇ≈Ç´Ç‹Ç∑ÅB
ǵǩǵǻǙÇÁÅAäJÇ¢ÇΩÉhÉLÉÖÉÅÉìÉgÇÃíÜÇ…ÅAǪÇÍÇÁÇÃåÍÇ™ïKÇ∏ǵLJåªÇÍÇÈÇÌÇØÇ≈ÇÕdžÇËÇ‹ÇπÇÒÅBñ‚Ç¢çáÇÌÇπÉtÉåÅ[ÉYÇå≥DžǵÇΩí èÌÇÃåüçıÇ≈ÇÕÅAì‡óeÇ…ÇÊÇÈåüçıÇÕñ‚Ç¢çáÇÌÇπÇÃíÜÇÃåÍǙǢÇ≠ǬǩdžÇÈÉtÉ@ÉCÉãÇå©Ç¬ÇØÇæÇµÇ‹Ç∑ÅBǵǩǵÅAÉÜÅ[ÉUÇ™ëOÇ…åüçıǵÇΩÉtÉ@ÉCÉãÇÃÇ§ÇøÇ©ÇÁÅAÇ¢Ç≠ǬǩÇÃÉhÉLÉÖÉÅÉìÉgÇëIÇ—ÅA"éóǃǢÇÈ(Similar)"ÉhÉLÉÖÉÅÉìÉgÇóvãÅǵÇΩèÍçáÅAå©ïtǩǡÇΩÉhÉLÉÖÉÅÉìÉgÇÃÇ§ÇøÇ…ÇÕÅAå≥ÇÃåüçıÇ≈éwíËÇ≥ÇÍÇΩåÍÇÃǻǢLJÇÃLJdžÇÈâ¬î\ê´Ç™Ç†ÇËÇ‹Ç∑ÅB'srwd'ëÆê´Ç…ÉAÉNÉZÉXÇ∑ÇÈÉfÉxÉçÉbÉpÇÕñ‚Ç¢çáÇÌÇπï∂éöóÒÇÃíÜÇÃÉLÅ[ÇÃëSǃǙÅAäJǢǃǢÇÈÉhÉLÉÖÉÅÉìÉgDždžÇÈÇÌÇØÇ≈ÇÕǻǢDZÇΔÇçló∂Ç…ì¸ÇÍǃÇ≠ÇæÇ≥Ç¢ÅB
ì‡óeÇ…ÇÊÇÈåüçı
Mac OS 8.5Ç≈íÒãüÇ≥ÇÍÇΩì‡óeÇ…åüçı(Find by Content,FBC)ã@î\ÇÕ"ã@î\ägí£(Extensions)"ÉtÉHÉãÉ_DždžÇÈPowerPCÉRÅ[ÉhÅEÉtÉâÉOÉÅÉìÉgÅEÉ}ÉlÅ[ÉWÉÉÇÃÉâÉCÉuÉâÉäÇ…ÇÊÇËé¿åªÇ≥ÇÍǃǢNjÇ∑ÅBSherlockÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕFBCÇÃÉNÉâÉCÉAÉìÉgÇ≈ÅADZÇÃÉVÉFÉAÉhÅEÉâÉCÉuÉâÉäÇ…ÇÊÇËFBCÇ™íÒãüÇ∑ÇÈã@î\Ç…ÉAÉNÉZÉXǵNjÇ∑ÅBDZÇÃèÕÇ≈ÇÕÅADZÇÃÉVÉFÉAÉhÅEÉâÉCÉuÉâÉäÇégǡǃÅAÉfÉxÉçÉbÉpÇ™FBCÇ…ÉAÉNÉZÉXÇ∑ÇÈêªïiÇçÏÇÈï˚ñ@Çâê‡ÇµÇ‹Ç∑ÅB
FBCÇ÷ÇÃÉRÉìÉpÉCÉâÅEÉCÉìÉ^Å[ÉtÉFÅ[ÉXÇÕCÉwÉbÉ_ÉtÉ@ÉCÉãDždžÇËÇ‹Ç∑ÅBÇ‹ÇΩÉäÉìÉNópÇÃÉRÅ[ÉhÅEÉtÉâÉOÉÅÉìÉgÅEÉ}ÉlÅ[ÉWÉÉÅEÉâÉCÉuÉâÉäÇÕ"Find By Content"(à¯ópïÑñ≥ǵ)ÇΔǢǧñºèÃÇ≈Ç∑ÅBDZDZÇ≈ê‡ñæÇµÇƒÇ¢ÇÈFBCÉãÅ[É`ÉìÇégǧèÍçáÅADZÇÃÉâÉCÉuÉâÉäÇ…ëŒÇµÇƒé„ÉäÉìÉN(weak-link)Ç∑ÇÈïKóvǙdžÇËÅAÇ‹ÇΩÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅADZÇÃíÜÇÃÉãÅ[É`ÉìÇåƒÇ‘ëOÇ…GestaltÉZÉåÉNÉ^ÇÉ`ÉÉÉbÉNÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB
ì‡óeÇ…ÇÊÇÈåüçıÇ™óòópÇ≈Ç´ÇÈǩǫǧǩåàíËÇ∑ÇÈ
FBCÇÕ2ǬÇÃGestaltÉZÉåÉNÉ^ÇíËã`ǵǃǢNjÇ∑ÅBFBCÇÃÉNÉâÉCÉAÉìÉgÇÕFBCÇ…ëŒÇ∑ÇÈÉRÅ[ÉãÇÇ∑ÇÈëOÇ…ÅAê≥ǵǢÉoÅ[ÉWÉáÉìÇ™óòópÇ≈Ç´ÇÈÇ©åüèÿÇµÇ»ÇØÇÍnjǻÇÁÇ∏ÅAÇ‹ÇΩåüçıÇçsǧëOÇ…ÇÕFBCÇÃÉCÉìÉfÉbÉNÉXÇÃèÛë‘ÇÉ`ÉFÉbÉNÇ∑ÇÈÇÕÇ∏Ç≈Ç∑ÅB
enum
{
gestaltFBCVersion = 'fbcv',
gestaltFBCCurrentVersion = 0x0011
};
gestaltFBCVersion ÉZÉåÉNÉ^ÇÕÉRÉìÉsÉÖÅ[É^Ç…ÉCÉìÉXÉgÅ[ÉãÇ≥ÇÍÇΩFBCÇÃÉoÅ[ÉWÉáÉìÇï‘ǵNjÇ∑ÅBÉfÉxÉçÉbÉpÇÕDZÇÃÉoÅ[ÉWÉáÉìÇΔ gestaltFBCCurrentVersion ÇégǡǃÅAÉvÉçÉOÉâÉÄÇÉRÉìÉpÉCÉãǵÇΩéûÇÃÉCÉìÉ^Å[ÉtÉFÅ[ÉXÇÃÉoÅ[ÉWÉáÉìÇî‰ärǵǃÅAà¿ëSÇ…FBCÇåƒÇ‘DZÇΔÇ™Ç≈Ç´ÇÈÇ©ÇîªífÇ≈Ç´Ç‹Ç∑ÅBgestaltFBCVersion Ç≈ìæÇΩÉoÅ[ÉWÉáÉìÇΔÅAÉfÉxÉçÉbÉpÇ™ÉAÉvÉäÉPÅ[ÉVÉáÉìÇÉRÉìÉpÉCÉãǵÇΩéûÇÃÉCÉìÉ^Å[ÉtÉFÅ[ÉXÇÃÉoÅ[ÉWÉáÉìÇ™àŸÇ»ÇÈèÍçáÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕFBCÇÉRÅ[ÉãÇ∑ÇÈDZÇΔÇÕÇ≈Ç´Ç‹ÇπÇÒÅB
enum
{
gestaltFBCIndexingState = 'fbci',
gestaltFBCindexingSafe = 0,
gestaltFBCindexingCritical
};
gestaltFBCIndexingState ÉZÉåÉNÉ^ÇÕFBCÇÃÉCÉìÉfÉbÉNÉXÇÃåªç›ÇÃèÛë‘Ç…ä÷Ç∑ÇÈèÓïÒÇï‘ǵNjÇ∑ÅBîCà”ÇÃéûì_Ç≈ÅAÉCÉìÉfÉbÉNÉXÇÃèÛë‘ÇÕ gestaltFBCindexingState Ç≈džÇÈÇ© gestaltFBCindexingCritical Ç≈džÇÈÇ©ÇÃÇ«ÇøÇÁÇ©Ç≈Ç∑ÅBgestaltFBCindexingCritical ÇÃèÛë‘ÇÃèÍçáÅAåüçıÇÕ gestaltFBCindexingSafe Ç…ñflÇÈÇ‹Ç≈ìØä˙ë“ÇøÇÃèÛë‘Ç…ä◊ÇËÇ‹Ç∑ÅBFBCÇÃÉCÉìÉfÉbÉNÉXÇÃèÛë‘Ç™ gestaltFBCindexingSafe ÇÃèÍçáÅAåüçıÇÕë¶ç¿Ç…é¿çsÇ≥ÇÍÇ‹Ç∑ÅBìØä˙ë“ÇøÇîÇØÇÈÇΩÇflÅAgestaltFBCindexingState ÉZÉåÉNÉ^ÇÉ`ÉFÉbÉNǵǃÅAÉCÉìÉfÉbÉNÉXÇÃèÛë‘ Ç™gestaltFBCindexingSaf eÇÃéûÇ…FBCÇÉRÅ[ÉãÇ∑Ç◊Ç´Ç≈Ç∑ÅB
ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇégǧ
FBCÇÃÉNÉâÉCÉAÉìÉgÅEÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕ"ÉTÅ[É`ÅEÉZÉbÉVÉáÉì(search session)"ÇÃÉIÅ[ÉvÉìÇΔÉNÉçÅ[ÉYÇ™Ç≈Ç´Ç‹Ç∑ÅBÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÕåüçıÇ…ä÷Ç∑ÇÈëSǃÇÃèÓïÒÇéùÇøÅAì¡Ç…ǪÇÃíÜÇ…ÇÕåüçıäÆóπéûÇ…É}ÉbÉ`ǵǃǢÇΩÉtÉ@ÉCÉãÇÃÉäÉXÉgÇ™ä‹Ç‹ÇÍÇ‹Ç∑ÅBFBCÇÃÉNÉâÉCÉAÉìÉgÇÕÅAÉZÉbÉVÉáÉìÇ…ëŒÇµÇƒíËã`Ç≥ÇÍÇΩÉãÅ[É`ÉìÇégǡǃÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃéQèΔÇìæÇƒÅAǪÇÍÇÁÇïœçXǵÇΩÇËÅAǪÇÃèÛë‘Çñ‚Ç¢çáÇÌÇπÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ…ëŒÇ∑ÇÈéQèΔÇÕFBCÉâÉCÉuÉâÉäÇÃopaqueÉ|ÉCÉìÉ^å^ÇΔǵǃíËã`Ç≥ÇÍǃǢNjÇ∑ÅB
typedef struct OpaqueFBCSearchSession* FBCSearchSession;
ÉfÉxÉçÉbÉpÇ™ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃç\ë¢Ç…ÉAÉNÉZÉXÇ∑ÇÈèÍçáÅADZDZÇ≈íËã`Ç≥ÇÍÇΩÉãÅ[É`ÉìÇïKÇ∏ǬǩÇÌÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBDZÇÃíÜÇ…ÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃï°êªÇ‚îpä¸ÇÃÇΩÇflÇÃFBCÉãÅ[É`ÉìLJä‹Ç‹ÇÍǃǢNjÇ∑ÅBÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÕï°éGÇ»ÉÅÉÇÉäç\ë¢Ç≈É|ÉCÉìÉ^ǂǪÇÃëºÇÃÉfÅ[É^Çä‹Ç›ÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇï°êªÇ∑ÇÈèÍçáÇ…ÇÕÅAǪÇÍÇÁÇÉRÉsÅ[ÇµÇ»ÇØÇÍnjǻÇÁÇ∏ÅAÇ‹ÇΩÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇâï˙Ç∑ÇÈÇΔÇ´Ç…ÇÕîpä¸ÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB
FBCÉâÉCÉuÉâÉäÇégópÇ∑ÇÈÇΔÇ´ÅAí èÌÇÃìÆçÏéËèáÇ≈ÇÕÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇê∂ê¨ÇµÅAì¡íËÇÃÉ{ÉäÉÖÅ[ÉÄå¸ÇØÇ…ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇç\ê¨ÇµÅAåüçıÇçsÇ¢ÅAåüçıåãâ Çñ‚Ç¢çáÇÌÇπÅAǪǵǃÉTÅ[É`Çîpä¸ÇµÇ‹Ç∑ÅBëºÇ…çlǶÇÁÇÍÇÈÉPÅ[ÉXÇΔǵǃó·Ç¶ÇŒÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃçƒèâä˙âªÇçsǡǃÅAǪÇÍÇëºÇÃåüçıÇ…égÇ¡ÇΩÇËÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃï°êªÇ…ÇÊǡǃå„ñflÇËǵǃÅAÇ≥ÇÁÇ…ÉNÉçÅ[ÉìÇçÏǡǃï ÇÃåüçıÇçsÇ¡ÇΩÇËÅAdžÇÈÇ¢ÇÕåüçıåãâ ÇdžÇÈì¡íËÇÃÉfÉBÉåÉNÉgÉäÇ…êßå¿ÇµÇΩÇËǻǫǙdžÇËÇ‹Ç∑ÅB
ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃèÄîı
êVǵǢÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇçÏê¨ÇµÇƒåüçıÇÃèÄîıÇÇ∑ÇÈÇ…ÇÕÅAÉäÉXÉg6Ç≈é¶Ç≥ÇÍÇÈÇÊǧDžè≠Ç»Ç≠ÇΔLJ2ǬÇÃFCBÉâÉCÉuÉâÉäÇ÷ÇÃÉRÅ[ÉãÇ™ïKóvÇ≈Ç∑ÅBDZÇÃó·Ç≈ÇÕÅAêVǵǢÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ™çÏê¨Ç≥ÇÍÅAǪÇÍÇ™ÉCÉìÉfÉbÉNÉXÉtÉ@ÉCÉãÇä‹ÇfiëSǃÇÃÉçÅ[ÉJÉãÉ{ÉäÉÖÅ[ÉÄÇÃåüçıå¸ÇØÇ…ç\ê¨Ç≥ÇÍÇ‹Ç∑ÅBFBCAddAllVomlumesToSessionÇåƒÇ‘DZÇΔÇ≈ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÕÅAëSǃÇÃÉCÉìÉfÉbÉNÉXïtÇ´É{ÉäÉÖÅ[ÉÄÇÃåüçıópÇ…ç\ê¨Ç≥ÇÍÇ‹Ç∑ÅB
ÉäÉXÉg6Å@ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇëSǃÇÃÉCÉìÉfÉbÉNÉXïtÇ´ÇÃÉçÅ[ÉJÉãÉ{ÉäÉÖÅ[ÉÄópÇ…èÄîıÇ∑ÇÈÅB
/* SimpleSetUpSession allocates a new search session and
returns a FBCSearchSession value in the *session
parameter. if an error occurs, *session is left
untouched. */
OSErr SimpleSetUpSession(FBCSearchSession* session)
{
OSErr err;
FBCSearchSession newsession;
/* set up our local variables */
err = noErr;
newsession = NULL;
if (session == NULL) return paramErr;
/* create the new session */
err = FBCCreateSearchSession(&newsession);
if (err != noErr) goto bail;
/* search all available local volumes */
err = FBCAddAllVolumesToSession(newsession, false);
if (err != noErr) goto bail;
/* store our result and leave */
*session = newsession;
return noErr;
bail:
if (newsession != NULL)
FBCDestroySearchSession(newsession);
return err;
}
|
FBCÇ™íÒãüÇ∑ÇÈÉãÅ[É`ÉìÇ…ÇÊÇËÅAÉfÉxÉçÉbÉpÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇégǧDZÇΔÇ≈ÅAÇ«ÇÃÉ{ÉäÉÖÅ[ÉÄÇåüçıÇ∑ÇÈÇ©êßå‰Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBÉäÉXÉg7ÇÕÅAÇ«ÇÃÇÊǧDžǵÇΩÇÁêVǵǢÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ™ì¡íËÇÃÉ{ÉäÉÖÅ[ÉÄÇÃèWçáå¸ÇØÇ…ç\ê¨Ç≥ÇÍÇÈÇ©Çé¶ÇµÇƒÇ¢Ç‹Ç∑ÅB
ÉäÉXÉg7Å@ì¡íËÇÃÉ{ÉäÉÖÅ[ÉÄÇÃèWçáópÇ…ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇèÄîıÇ∑ÇÈÅB
/* SetUpVolumeSession allocates a new search session and
returns a FBCSearchSession value in the *session parameter.
if vCount is not zero, then vRefNums points to an array of
volume reference numbers for volumes that are to be searched.
if any of the vRefNums refer to a volume without an index,
paramErr is returned. */
OSErr SetUpVolumeSession (FBCSearchSession* session,
UInt16 vCount, SInt16 *vRefNums)
{
OSErr err;
UInt16 i;
FBCSearchSession newsession;
/* set up our local variables */
err = noErr;
newsession = NULL;
if (vCount == 0) return paramErr;
if (session == NULL) return paramErr;
if (vRefNums == NULL) return paramErr;
/* create the new session */
err = FBCCreateSearchSession(&newsession);
if (err != noErr) goto bail;
/* search the volumes specified in vRefNums */
for (i=0; i
|
DZÇÃó·Ç≈ÇÕÅAFBCAddVolumeToSessionÉãÅ[É`ÉìÇ™ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ…É{ÉäÉÖÅ[ÉÄÇΔí«â¡Ç∑ÇÈÇΩÇflÇ…égÇÌÇÍǃǢNjÇ∑ÅBåªç›ÇÃÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ™ëŒè€ÇΔǵǃǢÇÈÉ{ÉäÉÖÅ[ÉÄÇñ‚Ç¢çáÇÌÇπÇÈÉãÅ[É`ÉìÇΔÉäÉXÉgÇ©ÇÁÉ{ÉäÉÖÅ[ÉÄÇéÊÇËèúÇ≠ÉãÅ[É`ÉìLJé¶Ç≥ÇÍǃǢNjÇ∑ÅB
Ç–ÇΔÇΩÇ—ÅAÇ¢Ç≠ǬǩÇÃÉ{ÉäÉÖÅ[ÉÄÇåüçıÇ∑ÇÈÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ™ç\ê¨Ç≥ÇÍÇÈÇΔÅAåüçıÇ™é¿çsÇ≥ÇÍÇΩå„Ç…çƒóòópÇ∑ÇÈèÍçáDžLJÅAëŒè€É{ÉäÉÖÅ[ÉÄÇçƒç\ê¨Ç∑ÇÈïKóvÇÕdžÇËÇ‹ÇπÇÒÅBåüçıÇ™çsÇÌÇÍǃåãâ Çí≤Ç◊ÇΩå„ÅAFBCReleaseSessionHitsÇåƒÇÒÇ≈ÅAǪÇÃÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇëºÇÃåüçıópÇ…èÄîıÇ≥ÇπÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃÉãÅ[É`ÉìÇÕëŒè€ÇÃÉ{ÉäÉÖÅ[ÉÄÇÃÉäÉXÉgÇécǵÇΩNjNjÇ≈ÅAç≈å„ÇÃåüçıÇÃåüçıåãâ Çâï˙ǵNjÇ∑ÅB
FBCCloneSearchSessionÉãÅ[É`ÉìÇégǡǃÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃÉRÉsÅ[ÇçÏÇÈÇΔÅAëŒè€É{ÉäÉÖÅ[ÉÄÇÃÉäÉXÉgLJï°êªÇ≥ÇÍÇΩǧǶÇ≈ÉRÉsÅ[Ç≥ÇÍÇ‹Ç∑ÅB
åüçıÇÃé¿çs
ÉäÉXÉg8Å@ÉCÉìÉfÉbÉNÉXïtÇ´ÇÃëSǃÇÃÉçÅ[ÉJÉãÉ{ÉäÉÖÅ[ÉÄÇÃÉTÅ[É`Ç…ÇÊÇÈñ‚Ç¢çáÇÌÇπ
OSErr SimpleFindByQuery (char *query, FBCSearchSession *session)
{
OSErr err;
FBCSearchSession newsession;
/* set up locals, check parameters... */
if (query[0] == 0) return paramErr;
if (session == NULL) return paramErr;
newsession = NULL;
/* allocate a new search session */
err = SimpleSetUpSession(&newsession);
if (err != noErr) goto bail;
/* Here is the call that does the actual search,
storing the results in the search session. */
err = FBCDoQuerySearch(newsession, query,
NULL, 0, 100, 100);
if (err != noErr) goto bail;
/* save the results and return */
*session = newsession;
return noErr;
bail:
if (newsession != NULL)
FBCDestroySearchSession(newsession);
return err;
}
|
FBCDoExampleSearchÉãÅ[É`ÉìdžÇÈÇ¢ÇÕFBCBlindExampleSearchÇégǡǃçsÇ¡ÇΩåüçıÇ≈ÇÕÅAëºÇÃÉtÉ@ÉCÉãÇΔéóǃǢÇÈÉtÉ@ÉCÉãÇíTǵèoÇ∑DZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBófiéóåüçıÇÕÅAó·ÇΔǵǃéwíËÇ≥ÇÍÇΩÉtÉ@ÉCÉãÇΔì‡óeÇ™ófiéóǵǃǢÇÈÉtÉ@ÉCÉãÇíTǵèoǵNjÇ∑ÅBó·(example)ÇÕÅAéñëOÇÃåüçıÇ≈ìæÇÁÇÍÇΩÉqÉbÉgÇéQèΔÇ∑ÇÈDZÇΔLJÇ≈Ç´ÅAÇ‹ÇΩÉfÉBÉXÉNÇÃÉtÉ@ÉCÉãÇéQèΔÇ∑ÇÈFSSpecÉåÉRÅ[ÉhÇÃÉäÉXÉgÇ≈éwíËÇ∑ÇÈDZÇΔLJÇ≈Ç´Ç‹Ç∑ÅB
3ǬÇÃÉTÅ[É`ÉãÅ[É`Éì--FBCDoExampleSearch,FBCBlindExampleSearchÇΔFBCDoQuerySearch--ÇÕÅAåüçıåãâ ÇÇ¢Ç≠ǬǩÇÃÉfÉBÉåÉNÉgÉäDždžÇÈÉtÉ@ÉCÉãÇæÇØÇ…êßå¿Ç∑ÇÈã@î\ÇéùǡǃǢNjÇ∑ÅBDZÇÃÇΩÇflÇ…ÇÕÅAÉNÉâÉCÉAÉìÉgÇÕëŒè€ÇΔÇ∑ÇÈÉfÉBÉåÉNÉgÉäÇéQèΔÇ∑ÇÈFSSpecÉåÉRÅ[ÉhÇÃÉäÉXÉgÇèÄîıǵNjÇ∑ÅBÉäÉXÉg9ÇÃó·ÇÕÅAì¡íËÇÃÉfÉBÉåÉNÉgÉäÇÃèWçáÇ…åüçıÇÃåãâ Çêßå¿Ç∑ÇÈï˚ñ@Çé¶ÇµÇƒÇ¢Ç‹Ç∑ÅB
ÉäÉXÉg9Å@ì¡íËÇÃÉfÉBÉåÉNÉgÉäèWçáÇÃåüçı
enum {
kMaxVols = 20,
maxHits = 10,
maxHitTerms = 10
};
OSErr RestrictedFindByQuery (char *query, UInt16 dirCount,
FSSpec* dirList,
FBCSearchSession* session)
{
UInt16 vCount, i;
SInt16 vRefNums[kMaxVols], normalVol;
FBCSearchSession newsession;
vCount = 0;
newsession = NULL;
if (dirList == NULL || dirCount == 0) return paramErr;
if (query == NULL) return paramErr;
if (*query == 0) return paramErr;
if (session == NULL) return paramErr;
/* collect all of the unique volume reference numbers
from the list of FSSpecs provided in the parameters. */
for (i=0; i>dirCount; i++) {
Boolean found;
HParamBlockRec pb;
/* ensure the vRefNum is a volume
reference number */
pb.volumeParam.ioVRefNum = dirList[i].vRefNum;
pb.volumeParam.ioNamePtr = NULL;
pb.volumeParam.ioVolIndex = 0;
if ((err = PBHGetVInfoSync(&pb)) != noErr) goto bail;
normalVol = pb.volumeParam.ioVRefNum;
/* make sure it's not already in the list */
for (found = false, j=0; j<vCount; j++)
if (vRefNums[j] == normalVol) {
found = true;
break;
}
/* add the volume to the list */
if (!found && vCount < kMaxVols)
vRefNums[vCount++] = normalVol;
}
/* set up a session to use the volumes we found */
err = SetUpVolumeSession(&newsession, vCount, vRefNums);
if (err != noErr) goto bail;
/* Here is the call that does the actual search,
storing the results in the search session. */
err = FBCDoQuerySearch(newsession, (char*)queryTxt,
dirList, dirCount, maxHits, maxHitTerms);
if (err != noErr) goto bail;
/* save the result and return */
*session = newsession;
return noErr;
bail:
if (newsession != NULL)
FBCDestroySearchSession(newsession);
return err;
}
|
DZDZÇ≈ÅAëŒè€ÇÃÉfÉBÉåÉNÉgÉäÇéQèΔÇ∑ÇÈFSSpecÉåÉRÅ[ÉhÇÃîzóÒÇ©ÇÁíäèoÇ≥ÇÍÇΩÉ{ÉäÉÖÅ[ÉÄéQèΔä·çÜÇ™ÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ…ÇÊÇÈåüçıÇÃÇΩÇflÇÃÉ{ÉäÉÖÅ[ÉÄÇç\ê¨Ç∑ÇÈÇΩÇflÇÃÉpÉâÉÅÅ[É^ÇΔǵǃégÇÌÇÍǃǢNjÇ∑ÅBǪÇÍÇ©ÇÁÅAëŒè€ÇΔÇ»ÇÈÉfÉBÉåÉNÉgÉäÇÃÉäÉXÉgÇ™FBCDoQuerySearchÇ…ÉpÉâÉÅÅ[É^ÇΔǵǃìnÇ≥ÇÍÇ‹Ç∑ÅB
ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ©ÇÁèÓïÒÇéÊÇËèoÇ∑
ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇégǡǃåüçıÇçsÇ¡ÇΩå„Ç…ÇÕÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ…ÇÕÉ}ÉbÉ`ǵÇΩÉtÉ@ÉCÉãÇ…ä÷Ç∑ÇÈÇ¢Ç≠ǬǩÇÃèÓïÒÇ™ä‹Ç‹ÇÍǃǢNjÇ∑ÅBÉNÉâÉCÉAÉìÉgÇÕÉtÉ@ÉCÉãÇÃFSSpecÉåÉRÅ[ÉhÅAÉtÉ@ÉCÉãÇ…É}ÉbÉ`ǵÇΩåÍÅAç≈å„ÇÃåüçıëÄçÏÇÃä‘Ç…ÉtÉ@ÉCÉãÇ…äÑÇËìñǃÇÁÇÍÇΩ"ì_êî(score)"ÅAǪǵǃÉtÉ@ÉCÉãÇ…ä÷Ç∑ÇÈǪÇÃëºÇÃèÓïÒÇä‹ÇÒÇæÅAå¬ÅXÇÃÉqÉbÉgÇÃèÓïÒÇ…ÉAÉNÉZÉXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBÉäÉXÉg10ÇÕÅAåüçıÇÃåãâ ÇΔǵǃï‘Ç≥ÇÍÇΩÉqÉbÉgÇ…ä÷Ç∑ÇÈèÓïÒÇÇ«ÇÃÇÊǧDžìæÇÈÇ©Çé¶ÇµÇƒÇ¢Ç‹Ç∑ÅB
ÉäÉXÉg10Å@ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ≈å©Ç¬Ç©Ç¡ÇΩëSǃÇÃÉtÉ@ÉCÉãÇóÒãìÇ∑ÇÈÅB
typedef OSErr (*HitProc) (FSSpec theDoc,
float score,
UInt32 nTerms,
FBCWordList hitTerms);
/* SampleHandleHits can be called after a search to enumerate
the search results. For each search hit, the hitFileProc
function parameter is called with information describing
the target. */
OSErr SampleHandleHits (FBCSearchSession session,
HitProc hitFileProc)
{
OSErr err;
UInt32 hitCount, i;
FSSpec targetDoc;
float targetScore;
FBCWordList targetTerms;
UInt32 numTerms;
/* set up locals, check parameters */
targetTerms = NULL;
if (hitFileProc == NULL) return paramErr;
if (session == NULL) return paramErr;
/* count the number of hits in this session */
err = FBCGetHitCount(session, &hitCount);
if (err != noErr) goto bail;
/* iterate through the hits */
for (i = 0; i < hitCount; i++) {
/* get the target document's FSSpec */
err = FBCGetHitDocument(session, i, &targetDoc);
if (err != noErr) goto bail;
/* get the score for this document */
err = FBCGetHitScore(session, i, &targetScore);
if (err != noErr) goto bail;
/* get a list of the words matched in
this document */
numTerms = maxHitTerms;
err = FBCGetMatchedWords(session, i, &numTerms,
&targetTerms);
if (err != noErr) goto bail;
/* call the call back routine provided as a
parameter to do something with the information. */
err = hitFileProc(&targetDoc, score, numTerms,
targetTerms);
if (err != noErr) goto bail;
/* clean up before moving to the next iteration. */
FBCDestroyWordList(targetTerms, numTerms);
targetTerms = NULL;
}
return noErr;
bail:
if (targetTerms != NULL)
FBCDestroyWordList(targetTerms, numTerms);
return err;
}
|
ì‡óeÇ…ÇÊÇÈåüçı(Find By Content)ÉäÉtÉ@ÉåÉìÉX
DZÇÃèÕÇ≈ÇÕÅAPowerPC FBCÉâÉCÉuÉâÉäÇ…ëŒÇ∑ÇÈCMFÉxÅ[ÉXÇÃÉCÉìÉ^Å[ÉtÉFÅ[ÉXÇê‡ñæÇµÇ‹Ç∑ÅBDZÇÍÇÁÇÃÉãÅ[É`ÉìÇégǧPowerPCÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕ"Find By Content"(à¯ópïÑñ≥ǵ)ÇΔǢǧÉâÉCÉuÉâÉäÇ…ëŒÇµÇƒÉäÉìÉNǵNjÇ∑ÅB
ÉfÅ[É^É^ÉCÉv
FBCÇÕà»â∫ÇÃÉfÅ[É^É^ÉCÉvÇíÒãüǵNjÇ∑ÅBDZÇÍÇÁÇÃÉfÅ[É^É^ÉCÉvÇ…ëŒÇ∑ÇÈãLâØä«óùã@î\LJFBCÇ™íÒãüǵǃǢNjÇ∑ÅBÉNÉâÉCÉAÉìÉgÇ™ÉÅÉÇÉäÅEÉ}ÉlÅ[ÉWÉÉÇégǡǃDZÇÍÇÁÇÃç\ë¢ÇäÑÇËìñǃÇΩÇËÅAâï˙ǵÇΩÇËÇ∑ÇÈDZÇΔÇÕã÷é~Ç≥ÇÍǃǢNjÇ∑ÅB
FBCSearchSession
typedef struct OpaqueFBCSearchSession* FBCSearchSession;
FBCÇ…ÇÊÇËçÏê¨Ç≥ÇÍÇΩÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇéQèΔÇ∑ÇÈÉ|ÉCÉìÉ^ïœêîÇÃÉ^ÉCÉvÇ≈Ç∑ÅBÉNÉâÉCÉAÉìÉgÇÕDZÇÃÉfÅ[É^Çíºê⁄ÉAÉNÉZÉXǵÇΩÇËÅAïœçXǵÇΩÇËǵǃÇÕÇ¢ÇØÇ‹ÇπÇÒÅB
FBCWordItem
typedef char* FBCWordItem;
í èÌÇÃCï∂éöóÒÅBDZÇÃÉ^ÉCÉvÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃÉqÉbÉgÇ©ÇÁèÓïÒÇéÊÇËèoÇ∑ÇΩÇflÇ…égÇÌÇÍÇ‹Ç∑ÅB
FBCWordList
typedef FBCWordItem* FBCWordList;
WordItemsÇÃîzóÒÅBDZÇÃÉ^ÉCÉvÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃÉqÉbÉgÇ©ÇÁèÓïÒÇéÊÇËèoÇ∑ÇΩÇflÇ…égÇÌÇÍÇ‹Ç∑ÅB
ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃäÑÇËìñǃÇΔèâä˙âª
à»â∫ÇÃÉãÅ[É`ÉìÇÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃäÑÇËìñǃÇΔâï˙Ç…égǢNjÇ∑ÅBÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ™êËÇflÇÈãLâØàÊÇÕFBCÉâÉCÉuÉâÉäÇ™èäóLǵNjÇ∑ÅBÇ‹ÇΩÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇäÑÇËìñǃÅAÉRÉsÅ[ǵÅAï˙ä¸Ç∑ÇÈÇ…ÇÕïKÇ∏DZÇÍÇÁÇÃÉãÅ[É`ÉìÇégǡǃÇ≠ÇæÇ≥Ç¢ÅB
FBCCreateSearchSession
OSErr FBCCreateSearchSession(
FBCSearchSession* searchSession);
searchSessionÇÕFBCSearchSessionå^ÇÃïœêîÇéwǵNjÇ∑
FBCCreateSearchSessionÇÕêVǵǢÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇäÑÇËìñǃÅAǪÇÍÇ÷ÇÃéQèΔÇsearchSessionÇ≈éwÇ≥ÇÍÇÈïœêîÇ…ï‘ǵNjÇ∑ÅB
FBCDestroySearchSession
OSErr FBCDestroySearchSession(
FBCSearchSession theSession);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇéwǵNjÇ∑ÅB
FBCDestroySearchSessionÇÕÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ≈êËóLÇ≥ÇÍÇΩãLâØàÊÇï‘ãpǵNjÇ∑ÅB
FBCCloneSearchSession
OSErr FBCCloneSearchSession(
FBCSearchSession original,
FBCSearchSession* clone);
originalÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇéwǵNjÇ∑ÅB
cloneÇÕFBCSearchSessionå^ÇÃïœêîÇéwǵNjÇ∑ÅB
FBCCloneSearchSessionÇÕêVǵǢÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇê∂ê¨ÇµÅAǪÇÍÇ÷ÇÃÉ|ÉCÉìÉ^ÇcloneÉpÉâÉÅÅ[É^Ç≈éwÇ≥ÇÍÇÈïœêîÇ…ï€ë∂ǵNjÇ∑ÅBå≥ÇÃÉTÅ[É`ÅEÉZÉbÉVÉáÉì(original)Ç©ÇÁÇÃèÓïÒÇÕêVǵǢÉZÉbÉVÉáÉìÇ…ÉRÉsÅ[Ç≥ÇÍÇ‹Ç∑Ç™ÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃëŒè€ÇÃÉ{ÉäÉÖÅ[ÉÄÇΔéñëOÇÃÉTÅ[É`Ç≈å©Ç¬Ç©Ç¡ÇΩÉqÉbÉgǙdžÇÍÇŒÅAǪÇÍLJä‹Ç‹ÇÍÇ‹Ç∑ÅB
ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇç\ê¨Ç∑ÇÈ
ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇì¡íËÇÃÉ{ÉäÉÖÅ[ÉÄÇÃèWçáÇÃåüçıÇ…êßå¿Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÍÇÁÇÃÉãÅ[É`ÉìÇ…ÇÊǡǃÉNÉâÉCÉAÉìÉgÇÕÅAFBCÇégǡǃì¡íËÇÃÉ{ÉäÉÖÅ[ÉÄÇåüçıÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
FBCAddAllVolumesToSession
OSErr FBCAddAllVolumesToSession(
FBCSearchSession theSession,
Boolean includeRemote);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇéwǵNjÇ∑ÅB
includeRemoteÇÕÉuÅ[ÉãílÇ≈Ç∑ÅB
FBCAddAllVolumesToSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÉCÉìÉfÉbÉNÉXÇéùǬëSǃÇÃÉ}ÉEÉìÉgÇ≥ÇÍÇΩÉ{ÉäÉÖÅ[ÉÄÇéwÇ∑ÇÊǧDžç\ê¨ÇµÇ‹Ç∑ÅBinlcudeRemoteÇ™ê^ÇÃèÍçáÅAÉäÉÇÅ[ÉgÇÃÉ{ÉäÉÖÅ[ÉÄÇ™ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃëŒè€É{ÉäÉÖÅ[ÉÄÇÃÉäÉXÉgÇ…ä‹Ç‹ÇÍÇ‹Ç∑ÅBÉCÉìÉeÉbÉNÇÃñ≥Ç¢É{ÉäÉÖÅ[ÉÄÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃëŒè€ÇÃÉ{ÉäÉÖÅ[ÉÄÇ…í«â¡Ç≥ÇÍÇ‹ÇπÇÒÅB
FBCSetSessionVolumes
OSErr FBCSetSessionVolumes(
FBCSearchSession theSession,
const SInt16 vRefNums[],
UInt16 numVolumes);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
vRefNumÇÕÉ{ÉäÉÖÅ[ÉÄéQèΔî‘çÜ(16ÉrÉbÉgêÆêî)ÇÃîzóÒÇ≈Ç∑ÅB
numVolumesÇÕvRefNumîzóÒÇÃÉ{ÉäÉÖÅ[ÉÄéQèΔî‘çÜÇÃêîÇä‹ÇfiêÆêîílÇ≈Ç∑ÅB
FBCSetSessionVolumesÇ…ÇÊÇËÉNÉâÉCÉAÉìÉgÇÕÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃíPàÍÇÃÉRÅ[ÉãÇÃëŒè€ÇΔÇ»ÇÈÉ{ÉäÉÖÅ[ÉÄÇÃÉäÉXÉgÇ…ÅAÇ¢Ç≠ǬǩÇÃÉ{ÉäÉÖÅ[ÉÄÇâ¡Ç¶ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
FBCAddVolumeToSession
OSErr FBCAddVolumeToSession(
FBCSearchSession theSession,
SInt16 vRefNum);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇéwǵNjÇ∑ÅB
vRefNumÇÕÉ{ÉäÉÖÅ[ÉÄéQèΔî‘çÜÇ≈Ç∑ÅB
FBCAddVolumeToSessionÇÕÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ…ÇÊÇËåüçıÇ≥ÇÍÇÈÉ{ÉäÉÖÅ[ÉÄÇÃÉäÉXÉgÇ…ÅAéwíËÇ≥ÇÍÇΩÉ{ÉäÉÖÅ[ÉÄÇí«â¡ÇµÇ‹Ç∑ÅB
FBCRemoveVolumeFromSession
OSErr FBCRemoveVolumeFromSession(
FBCSearchSession theSession,
SInt16 vRefNum);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
vRefNumÇÕÉ{ÉäÉÖÅ[ÉÄÇÃéQèΔî‘çÜÇ≈Ç∑ÅB
FBCRemoveVolumeFromSessionÇÕéwíËÇ≥ÇÍÇΩÉ{ÉäÉÖÅ[ÉÄÇÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ™åüçıÇ∑ÇÈÉ{ÉäÉÖÅ[ÉÄÇÃÉäÉXÉgÇ©ÇÁéÊÇËèúÇ´Ç‹Ç∑ÅB
FBCGetSessionVolumeCount
OSErr FBCGetSessionVolumeCount(
FBCSearchSession theSession,
UInt16* count);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇéwǵNjÇ∑ÅB
countÇÕåãâ Ç™ï€ë∂Ç≥ÇÍÇÈ16ÉrÉbÉgêÆêîÇéwǵNjÇ∑ÅB
FBCGetSessionVolumeCountÇÕÅA*countÇ…ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ™åüçıÇ∑ÇÈÉ{ÉäÉÖÅ[ÉÄÇÃÉäÉXÉgÇÃíÜÇÃÉ{ÉäÉÖÅ[ÉÄÇÃêîÇï‘ǵNjÇ∑ÅB
FBCGetSessionVolumes
OSErr FBCGetSessionVolumes(
FBCSearchSession theSession,
SInt16 vRefNums[],
UInt16* numVolumes);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇéwǵNjÇ∑ÅB
vRefNumsÇÕÉ{ÉäÉÖÅ[ÉÄéQèΔî‘çÜ(16ÉrÉbÉgêÆêî)ÇÃîzóÒÇ≈Ç∑ÅB
*numVolumesÇÕ16ÉrÉbÉgêÆêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅBì¸óÕÇΔǵǃÇÕÅADZÇÍÇÕvRefNumsÇ…ï€ë∂Ç≈Ç´ÇÈóvëfÇÃêîÇ≈ÅAèoóÕÇ≈ÇÕé¿ç€Ç…vRefNumsÇ…ï€ë∂Ç≥ÇÍÇΩóvëfÇÃêîÇ≈Ç∑ÅB
FBCGetSessionVolumeÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ…ÇÊÇËåüçıÇ≥ÇÍÇΩÉ{ÉäÉÖÅ[ÉÄÇÃÉäÉXÉgÇvRefNumÇ≈éwÇ≥ÇÍÇÈîzóÒÇΔǵǃï‘ǵNjÇ∑ÅB*numVolumeÇÕîzóÒÇ…ñflÇ≥ÇÍÇΩÉ{ÉäÉÖÅ[ÉÄéQèΔî‘çÜÇÃêîÇ™ê›íËÇ≥ÇÍÇ‹Ç∑ÅB
åüçıÇé¿çsÇ∑ÇÈ
FBCÇÕÅADZÇÃèÕÇ≈ê‡ñæÇ∑ÇÈåüçıÇçsǧÇΩÇflÇÃ2ǬÇÃàŸÇ»Ç¡ÇΩÉãÅ[É`ÉìÇíÒãüǵǃǢNjÇ∑ÅB
FBCDoQuerySearch
OSErr FBCDoQuerySearch(
FBCSearchSession theSession,
char* queryText,
const FSSpec targetDirs[],
UInt32 numTargets,
UInt32 maxHits,
UInt32 maxHitWords);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
queryTextÇÕåüçıçÄñ⁄Çä‹ÇÒÇ≈Ç¢ÇÈCå`éÆÇÃï∂éöóÒÇ≈Ç∑ÅB
targetDirsÇÕÉfÉBÉåÉNÉgÉäÇéQèΔÇ∑ÇÈFSSpecÉåÉRÅ[ÉhÇÃîzóÒÇéwǵNjÇ∑ÅBnumTargetsÇ™É[ÉçÇÃèÍçáÅADZÇÃÉpÉâÉÅÅ[É^ÇÕNULLÇ…ÉZÉbÉgÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
numTargetsÇÕÅAtargetDirsÇ™éwÇ∑îzóÒíÜÇÃFSSpecÉåÉRÅ[ÉhÇÃêîÇä‹ÇÒÇ≈ǢNjÇ∑ÅB
maxHitsÅ@ï‘Ç≥ÇÍÇÈÉqÉbÉgÇÃç≈ëÂêî
maxHitsWordÅ@ïÒçêÇ≥ÇÍÇÈÉqÉbÉgåÍÇÃç≈ëÂêî
FBCDoQuerySearchÇÕÅAqueryTextÇ≈éwíËÇ≥ÇÍÇΩåüçıçÄñ⁄Ç…äÓÇ∏Ç≠åüçıÇé¿çsǵNjÇ∑ÅBtargetDirsÉpÉâÉÅÅ[É^ǙdžÇÈèÍçá(numTargetsÇ™É[ÉçÇ≈ǻǢ)ÅAtargetDirsÇ≈éwíËÇ≥ÇÍÇΩÉfÉBÉåÉNÉgÉäDždžÇÈÉtÉ@ÉCÉãÇæÇØÇ™åüçıÇ≈å©Ç¬Ç©Ç¡ÇΩÉqÉbÉgÇΔǵǃä‹Ç‹ÇÍÇ‹Ç∑ÅB
BCDoExampleSearch
OSErr FBCDoExampleSearch(
FBCSearchSession theSession,
const UInt32* exampleHitNums,
UInt32 numExamples,
const FSSpec targetDirs[],
UInt32 numTargets,
UInt32 maxHits,
UInt32 maxHitWords);
theSessionÇ…ÇÕÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ÷ÇÃÉ|ÉCÉìÉ^Ç™ä‹Ç‹ÇÍÇ‹Ç∑ÅBDZÇÃÉZÉbÉVÉáÉìÇ…ÇÕéñëOÇÃåüçıÇ≈ê∂ê¨Ç≥ÇÍÇΩÉqÉbÉgÉäÉXÉgÇä‹ÇÒÇ≈Ç¢Ç»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB
exampleHitNumsÇÕ32ÉrÉbÉgêÆêîÇÃîzóÒÇ≈Ç∑ÅB
targetDirsÇÕÅAÉfÉBÉåÉNÉgÉäÇéQèΔÇ∑ÇÈFSSpecÉåÉRÅ[ÉhÇÃîzóÒÇéwǵNjÇ∑ÅBnumTargetsÇ™É[ÉçÇÃèÍçáÅADZÇÃÉpÉâÉÅÅ[É^ÇÕNULLÇ…ê›íËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
numTargetsÇÕtargetsDirsÇ≈éwÇ≥ÇÍÇÈîzóÒÇÃFSSpecÉåÉRÅ[ÉhÇÃêîÇä‹Ç›Ç‹Ç∑ÅB
maxHitsÇÕï‘Ç≥ÇÍÇÈÉqÉbÉgÇÃç≈ëÂêîÇ≈Ç∑ÅB
maxHitwordsÇÕÅAïÒçêÇ≥ÇÍÇÈÉqÉbÉgåÍÇÃç≈ëÂêîÇ≈Ç∑ÅB
FBCDoExampleSearchÇÕÅAéñëOÇ…åüçıÇ≥ÇÍÇΩLJÇÃÇó·ÇΔǵÇΩÅAó·ÇäÓDžǵÇΩåüçıÅAdžÇÈÇ¢ÇÕ"ófiéóê´(similarity)"åüçıÇçsǢNjÇ∑ÅBexampleHitNumsÇÕÅAó·ÇΔǵǃégÇÌÇÍÇÈÉtÉ@ÉCÉãÇÃÅAÇ¢Ç≠ǬǩÇÃÉqÉbÉgÇÃÉCÉìÉfÉbÉNÉXÇä‹Çfií∑êÆêî(long integer)ÇÃîzóÒÇéwǵNjÇ∑ÅBtargetDirsÉpÉâÉÅÅ[É^ǙdžÇÈèÍçá(numTargetsÇ™É[ÉçÇ≈ǻǢ)ÅAtargetDirsÇ≈éwíËÇ≥ÇÍÇΩÉfÉBÉåÉNÉgÉäDždžÇÈÉtÉ@ÉCÉãÇæÇØÇ™ÅAåüçıÇ≈å©Ç¬Ç©Ç¡ÇΩÉqÉbÉgÇ…ä‹Ç‹ÇÍÇ‹Ç∑ÅB
FBCBlindExampleSearch
OSErr FBCBlindExampleSearch(
SSpec examples[],
UInt32 numExamples,
const FSSpec targetDirs[],
UInt32 numTargets,
UInt32 maxHits,
UInt32 maxHitWords,
Boolean allIndexes,
Boolean includeRemote,
FBCSearchSession* theSession);
examplesÇÕÅAÉtÉ@ÉCÉãÇéQèΔÇ∑ÇÈFSSpecÉåÉRÅ[ÉhÇÃîzóÒÇéwǵNjÇ∑ÅBFBCÇÕDZÇÍÇÁÇÃÉtÉ@ÉCÉãÇΔéóǃǢÇÈÉtÉ@ÉCÉãÇíTǵNjÇ∑ÅB
numExamplesÇ…ÇÕÅAexamplesÇ≈éwÇ≥ÇÍÇÈîzóÒÇÃíÜÇÃFSSpecÉåÉRÅ[ÉhÇÃêîÇ™ä‹Ç‹ÇÍÇ‹Ç∑ÅB
targetDirsÇÕÅAÉfÉBÉåÉNÉgÉäÇéQèΔÇ∑ÇÈFSSpecÇÃÉåÉRÅ[ÉhÇÃîzóÒÇéwǵNjÇ∑ÅBtargetDirsÇ™NULLÇÃèÍçáÅAnumTargetsÇÕÉ[ÉçÇ≈ÇÕÇ»Ç≠ÅADZÇÍÇÁÇÃÉfÉBÉåÉNÉgÉäDždžÇÈÉtÉ@ÉCÉãÇæÇØåüçıÇ≈ï‘Ç≥ÇÍÇÈÉqÉbÉgÉäÉXÉgÇ…ä‹Ç‹ÇÍÇ‹Ç∑ÅB
targetDirsÇÕÉfÉBÉåÉNÉgÉäÇéQèΔÇ∑ÇÈFSSPecÉåÉRÅ[ÉhÇÃîzóÒÇéwǵNjÇ∑ÅBnumTargetsÇ™É[ÉçÇÃèÍçáÅADZÇÃÉpÉâÉÅÅ[É^ÇÕNULLÇ…ê›íËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
numTargetsÇÕtargetDirsÇ≈éwÇ≥ÇÍÇÈîzóÒÇÃíÜÇÃFSSpecÉåÉRÅ[ÉhÇÃêîÇä‹Ç›Ç‹Ç∑ÅB
numHitsÇÕï‘Ç≥ÇÍÇÈÉqÉbÉgÇÃç≈ëÂêîÇ≈Ç∑ÅB
maxHitWordsÇÕÅAïÒçêÇ≥ÇÍÇÈÉqÉbÉgåÍÇÃç≈ëÂêîÇ≈Ç∑ÅB
includeRemoteÇÕÅAÉuÅ[ÉãílÇ≈Ç∑ÅB
theSessionÇÕÅADZÇÃÉãÅ[É`ÉìÇ…ÇÊÇËê∂ê¨Ç≥ÇÍÇÈFBCSearchSessionå^ÇÃïœêîÇéwǵNjÇ∑ÅB
FBCBlindExampleSearchÇÕêVǵǢÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇçÏê¨ÇµÅAexamplesÉpÉâÉÅÅ[É^Ç≈éwíËÇ≥ÇÍÇΩFSSpecÉåÉRÅ[ÉhÇÃîzóÒÇ≈éQèΔÇ≥ÇÍÇÈÉtÉ@ÉCÉãÇégÇ¡ÇΩófiéóåüçıÇçsǢNjÇ∑ÅBtargetDirsÉpÉâÉÅÅ[É^ǙdžÇÈèÍçá(numTargetsÇ™É[ÉçÇ≈ǻǢ)ÅAtargetDirsÇ…éwíËÇ≥ÇÍÇΩÉfÉBÉåÉNÉgÉäDždžÇÈÉtÉ@ÉCÉãÇæÇØÇ™ÅAåüçıÇ≈å©Ç¬Ç©Ç¡ÇΩÉqÉbÉgÇ…ä‹Ç‹ÇÍÇ‹Ç∑ÅBincludeRemoteÇ™trueÇÃèÍçáÅAÉäÉÇÅ[ÉgÅEÉ{ÉäÉÖÅ[ÉÄLJÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃÉ^Å[ÉQÉbÉgÅEÉ{ÉäÉÖÅ[ÉÄÇ…ä‹Ç‹ÇÍÇ‹Ç∑ÅB
LJǵÅAÉCÉìÉfÉbÉNÉXÇ≥ÇÍǃǢǻǢÉtÉ@ÉCÉãǙdžÇÈèÍçáÅAåüçıÇÕǪÇÃëºÇ…ÉtÉ@ÉCÉãÇ…ëŒÇµÇƒêiÇflÇÁÇÍÇ‹Ç∑Ç™ÅAÉGÉâÅ[ÉRÅ[Éh"kFBCsomeFilesNotIndexed"Ç™ï‘Ç≥ÇÍÇ‹Ç∑ÅBDZÇÃèÍçáÇ≈LJÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÕçÏê¨Ç≥ÇÍÅA*theSessionDžǪÇÍÇ÷ÇÃéQèΔÇ™ï‘Ç≥ÇÍÇ‹Ç∑ÅB
ÉqÉbÉgÇÃèÓïÒÇìæÇÈ
åüçıÇ™äÆóπÇ∑ÇÈÇΔÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ…ÇÕÅAåüçıÇÃåãâ å©Ç¬Ç©Ç¡ÇΩÉqÉbÉgÇÃÉäÉXÉgÇ™ä‹Ç‹ÇÍÇ‹Ç∑ÅBDZÇÃèÕÇ≈ê‡ñæÇ∑ÇÈÉãÅ[É`ÉìÇ…ÇÊÇËÅAÉNÉâÉCÉAÉìÉgÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ…ï€ë∂Ç≥ÇÍÇΩÉqÉbÉgÇ…ä÷Ç∑ÇÈèÓïÒÇ…ÉAÉNÉZÉXÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBÉqÉbÉgÉåÉRÅ[ÉhÇ…ÇÕ0Ç©ÇÁcount-1Ç‹Ç≈ÇÃÉCÉìÉfÉbÉNÉXÇ™ïtÇ´Ç‹Ç∑ÅB
FBCGetHitCount
OSErr FBCGetHitCount(
FBCSearchSession theSession,
UInt32* count);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
countÇÕ32ÉrÉbÉgêÆêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
FBCGetHitCountÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìíÜÇÃÉqÉbÉgÇÃêîÇcountÇ≈éwÇ≥ÇÍÇÈïœêîÇ…ê›íËǵNjÇ∑ÅBÉqÉbÉgÉåÉRÅ[ÉhÇ…ÇÕ0Ç©ÇÁcount-1Ç‹Ç≈ÇÃÉCÉìÉfÉbÉNÉXǙǬǴNjÇ∑ÅB
FBCGetHitDocument
OSErr FBCGetHitDocument(
FBCSearchSession theSession,
UInt32 hitNumber,
FSSpec* theDocument);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
hitNumberÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃíÜÇÃÉqÉbÉgÉåÉRÅ[ÉhÇéQèΔÇ∑ÇÈÉCÉìÉfÉbÉNÉXÇÃílÇ≈Ç∑ÅB
FBCGetHitDocumentÇÕÅAÉCÉìÉfÉbÉNÉXÇ™hitNumberÇ≈džÇÈÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃÉqÉbÉgÇ…ëŒÇ∑ÇÈFSSpecÉåÉRÅ[ÉhÇï‘ǵNjÇ∑ÅB
FBCGetHitScore
OSErr FBCGetHitScore(
FBCSearchSession theSession,
UInt32 hitNumber,
float* score);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
hitNumberÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃíÜÇÃÉqÉbÉgÉåÉRÅ[ÉhÇéQèΔÇ∑ÇÈÉCÉìÉfÉbÉNÉXÇÃílÇ≈Ç∑ÅB
scoreÇÕfloatå^ïœêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
FBCGetHitScoreÇÕÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃíÜÇÃÉCÉìÉfÉbÉNÉXÇ™hitNumberÇ≈džÇÈÉqÉbÉgÇ…äÑÇËìñÇΩÇÁÇÍÇΩìKêÿìxêîÇï‘ǵNjÇ∑ÅBscoreÇÕìñäYåüçıÇÃÉRÉìÉeÉLÉXÉgÇ≈ÇÃåüçıäÓèÄÇ…ëŒÇ∑ÇÈÅAÉhÉLÉÖÉÅÉìÉgÇÃìKêÿê´ÇÃíºê⁄ìIÇ»é⁄ìxÇ≈Ç∑ÅBscoreÇÕ0.0-1.0Ç…ê≥ãKâªÇ≥ÇÍÅAÇ«ÇÃåüçıÇ…ëŒÇµÇƒÇ‡ç≈LJìKêÿǻLJÇÃÇÃscoreÇÕ1.0ÇΔÇ»ÇËÇ‹Ç∑ÅB
FBCGetMatchedWords
OSErr FBCGetMatchedWords(
FBCSearchSession theSession,
UInt32 hitNumber,
UInt32* wordCount,
FBCWordList* list);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
hitNumberÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃÉqÉbÉgÉåÉRÅ[ÉhÇéQèΔÇ∑ÇÈÉCÉìÉfÉbÉNÉXílÇ≈Ç∑ÅB
wordCountÇÕ32ÉrÉbÉgêÆêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
listÇÕFBCWordListå^ïœêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
FBCGetMatchedWordsÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃíÜÇÃÉCÉìÉfÉbÉNÉXÇ™hitNumberÇ≈džÇÈÉqÉbÉgÇ…ëŒÇ∑ÇÈàÍívǵÇΩåÍÇÃÉäÉXÉgÇ≈Ç∑ÅBåÍÇÃÉäÉXÉgÇÕÅAÉqÉbÉgÇ™ï‘Ç≥ÇÍÇΩóùóRÇé¶ÇµÇƒÇ¢Ç‹Ç∑ÅBä÷êîÇ©ÇÁñflÇ¡ÇΩéûÅA*listÇÕåÍÇÃÉäÉXÉgç\ë¢Ç÷ÇÃÉ|ÉCÉìÉ^Çä‹Ç›ÅA*wordCountÇ…ÇÕÅAǪÇÃç\ë¢ÇÃÉGÉìÉgÉäÇÃêîÇ™ê›íËÇ≥ÇÍÇ‹Ç∑ÅBǪÇÃç\ë¢Ç…ëŒÇ∑ÇÈçÏãΔÇ™èIÇÌÇ¡ÇΩå„ÅAïKÇ∏FBCDestoryWordListÇåƒÇÒÇ≈ǪÇÃç\ë¢Çîpä¸ÇµÇΩÇ≠ÇæÇ≥Ç¢ÅB
ÉqÉbÉgÇÃàÍívǵÇΩåÍÇÕÅAÉqÉbÉgé©êgDžLJä‹Ç‹ÇÍǃǢNjÇ∑ÇÃÇ≈ÅAçÇë¨Ç…éÊÇËèoÇ∑DZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
FBCGetTopicWords
OSErr FBCGetTopicWords(
FBCSearchSession theSession,
UInt32 hitNumber,
UInt32* wordCount,
FBCWordList* list);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
hitNumberÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃÉqÉbÉgÉåÉRÅ[ÉhÇéQèΔÇ∑ÇÈÉCÉìÉfÉbÉNÉXÇ≈Ç∑ÅB
wordCountÇÕ32ÉrÉbÉgêÆêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
listÇÕFBCWordListå^ïœêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
FBCGetTopicWordsÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃíÜÇÃÉCÉìÉfÉbÉNÉXÇ™hitNumberÇ≈džÇÈÉgÉsÉbÉNåÍÇÃÉäÉXÉgÇï‘ǵNjÇ∑ÅBDZÇÃåÍÇÃÉäÉXÉgÇÕ"DZÇÃÉhÉLÉÖÉÅÉìÉgÇÕÇ«ÇÒǻLJÇÃÇ©"ÇÃéËǙǩÇËÇ…Ç»ÇÈåÍÇÃÉäÉXÉgç\ë¢Ç÷ÇÃÉ|ÉCÉìÉ^Çä‹Ç›*wordCountÇÕDZÇÃç\ë¢ÇÃíÜÇÃÉGÉìÉgÉäÇÃêîÇ…ê›íËÇ≥ÇÍÇ‹Ç∑ÅBDZÇÃç\ë¢Ç…ä÷Ç∑ÇÈçÏãΔÇ™èIÇÌÇ¡ÇΩå„ÅAïKÇ∏FBCDestoryWordListÇåƒÇÒÇ≈ÅADZÇÃç\ë¢Çîpä¸ÇµÇƒÇ≠ÇæÇ≥Ç¢ÅB
ì¡íËÇÃÉqÉbÉgÇ…ëŒÇ∑ÇÈÉgÉsÉbÉNåÍÇÃÉäÉXÉgÇÕÉCÉìÉfÉbÉNÉXÅEÉtÉ@ÉCÉãÇí ǵǃê∂ê¨Ç≥ÇÍÅAǪÇÃÇΩÇflÅADZÇÃä÷êîÇÕFBCGetMatchedWordsÇ…î‰Ç◊ǃëÂïùÇ…íxÇ≠Ç»ÇËÇ‹Ç∑ÅB
FBCDestroyWordList
OSErr FBCDestroyWordList(
FBCWordList theList,
UInt32 wordCount);
theListÇÕåÍÇÃÉäÉXÉgÇ…ëŒÇ∑ÇÈÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
wordCountÇÕÉäÉXÉgÇÃíÜÇÃåÍÇÃêîÇ≈Ç∑ÅB
FBCDestroyWordListÇÕFBCGetMatchedWordÅAdžÇÈÇ¢ÇÕFBCGetTopicWordsÇ≈äÑÇËìñǃÇÁÇÍÇΩåÍÇÃÉäÉXÉgÇîpä¸ÇµÇ‹Ç∑ÅB
FBCReleaseSessionHits
OSErr FBCReleaseSessionHits(
FBCSearchSession theSession);
theSessionÇÕÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇ…ëŒÇ∑ÇÈÉ|ÉCÉìÉ^Ç≈Ç∑ÅBDZÇÃÉZÉbÉVÉáÉìÇ…ÇÕåüçıÇ…ÇÊǡǃê∂ê¨Ç≥ÇÍÇΩÉqÉbÉgÇ™ä‹Ç‹ÇÍÇ‹Ç∑ÅB
FBCReleaseSessionHitsÇÕÅAÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃç≈êVÇÃåüçıÇÃÉqÉbÉgÇ…ä÷ǵǃï€ë∂Ç≥ÇÍÇΩèÓïÒÇâï˙ǵNjÇ∑ÅBÉ{ÉäÉÖÅ[ÉÄç\ê¨èÓïÒÇÕï€éùÇ≥ÇÍÅADZÇÃÉRÅ[ÉãÇ™äÆóπÇ∑ÇÈÇΔDZÇÃÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇégÇ¡ÇΩêVǵǢåüçıÇ™é¿çsâ¬î\ÇΔÇ»ÇËÇ‹Ç∑ÅB
ÉeÉLÉXÉgÇÃóvñÒÇçÏÇÈ
DZÇÃÉRÅ[ÉãÇÕì¸óÕÉeÉLÉXÉgÇÃíÜÇ≈å©ïtǩǡÇΩ"ç≈LJìKêÿÇ»"ï∂Çä‹ÇfióvñÒÇê∂ê¨ÇµÇ‹Ç∑ÅB
FBCSummarize
OSErr FBCSummarize(
void* inBuf,
UInt32 inLength,
void* outBuf,
UInt32* outLength,
UInt32* numSentences);
inBufÇÕóvñÒÇ∑ÇÈÉeÉLÉXÉgÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
inLengthÇÕinBufÇ≈éwÇ≥ÇÍÇÈÉeÉLÉXÉgÇÃí∑Ç≥Ç≈Ç∑ÅB
outBufÇÕóvñÒÇï€ë∂Ç∑ÇÈÇΩÇflÇÃÉoÉbÉtÉ@ÇéwǵNjÇ∑ÅB
outLengthÇÕ32ÉrÉbÉgêÆêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅBì¸óÕéûÅADZÇÃílÇÕoutBufÇ≈éwÇ≥ÇÍÇÈÉoÉbÉtÉ@ÇÃëÂÇ´Ç≥Ç…éwíËǵNjÇ∑ÅBèoóÕéûoutBufÇ≈éwÇ≥ÇÍÇÈÉoÉbÉtÉ@ÇÕÅAï€ë∂Ç≥ÇÍÇÈÉfÅ[É^ÇÃé¿ç€ÇÃí∑Ç≥Ç™ê›íËÇ≥ÇÍÇ‹Ç∑ÅB
numSentencesÇÕ32ÉrÉbÉgêÆêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅBì¸óÕéûÅADZÇÃílÇÕóvñÒÇÃÉZÉìÉeÉìÉXÇÃç≈ëÂêîÇ≈Ç∑ÅBèoóÕéûÅAê∂ê¨Ç≥ÇÍÇΩÉZÉìÉeÉìÉXÇÃé¿ç€ÇÃêîÇ…Ç»ÇËÇ‹Ç∑ÅBì¸óÕéûnumSentencesÇ™0ÇÃèÍçáÅAFBCÇÕì¸óÕÉoÉbÉtÉ@ì‡ÇÃÉZÉìÉeÉìÉXÇ10Ç≈äÑÇ¡ÇΩêîÇçÃópǵNjÇ∑ÅBåãâ Ç™0ÇÃèÍçáÇÕÅAíl1Ç™ç≈ëÂêîÇΔǵǃégÇÌÇÍÅAǪǧÇ≈Ç»Ç≠åãâ Ç™10à»è„ÇÃèÍçáÅAíl10Ç™ç≈ëÂêîÇΔǵǃégÇÌÇÍÇ‹Ç∑ÅB
É{ÉäÉÖÅ[ÉÄÇ…ä÷Ç∑ÇÈèÓïÒÇìæÇÈ
FBCÇÕÉ{ÉäÉÖÅ[ÉÄÇ…ä÷Ç∑ÇÈèÓïÒÇ…ÉAÉNÉZÉXÇ∑ÇÈÇΩÇflÇÃà»â∫ÇÃ2ǬÇÃÉÜÅ[ÉeÉBÉäÉeÉBÉãÅ[É`ÉìÇíÒãüǵǃǢNjÇ∑ÅB
FBCVolumeIsIndexed
Boolean FBCVolumeIsIndexed (SInt16 theVRefNum);
theVRefNumÇÕÉ{ÉäÉÖÅ[ÉÄéQèΔî‘çÜÇ≈Ç∑ÅB
FBCVolumeIsIndexedÇÕÉ{ÉäÉÖÅ[ÉÄÇ™ÉCÉìÉfÉbÉNÉXÇéùǬÇΔÇ´trueÇï‘ǵNjÇ∑ÅB
FBCVolumeIsRemote
Boolean FBCVolumeIsRemote(SInt16 theVRefNum);
theVRefNumÇÕÉ{ÉäÉÖÅ[ÉÄéQèΔî‘çÜÇ≈Ç∑ÅB
FBCVolumeIsRemoteÇÕÉ{ÉäÉÖÅ[ÉÄÇ™ÉäÉÇÅ[ÉgÉTÅ[ÉoDždžÇÈDZÇΔÇé¶Ç∑ÇΔÇ´trueÇï‘ǵNjÇ∑ÅBÉlÉbÉgÉèÅ[ÉNÇ…ÇÊÇÈíxâÑÇîÇØÇÈÇΩÇflÇ…ÉNÉâÉCÉAÉìÉgÇÕÉlÉbÉgÉèÅ[ÉNÉ{ÉäÉÖÅ[ÉÄÇèúäOÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
FBCVolumeIndexTimeStamp
OSErr FBCVolumeIndexTimeStamp(SInt16 theVRefNum,
UInt32* timeStamp);
theVRefNumÇÕÉ{ÉäÉÖÅ[ÉÄéQèΔî‘çÜÇ≈Ç∑ÅB
timeStampÇÕ32ÉrÉbÉgêÆêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
FBCVolumeIndexTimeStampÇÕÉ{ÉäÉÖÅ[ÉÄÇÃÉCÉìÉfÉbÉNÉXÇ™ç≈å„Ç…çXêVÇ≥ÇÍÇΩéûÇÃílÇï‘ǵNjÇ∑ÅBtimeStampÇ…ï‘Ç≥ÇÍÇÈílÇÕGetDateTimeÇ≈ï‘Ç≥ÇÍÇÈílÇÃå`éÆÇΔìØÇ∂Ç≈Ç∑ÅB
FBCVolumeIndexPhysicalSize
OSErr FBCVolumeIndexPhysicalSize(SInt16 theVRefNum,
UInt32* size);
theVRefNumÇÕÉ{ÉäÉÖÅ[ÉÄéQèΔî‘çÜÇ≈Ç∑ÅB
sizeÇÕ32ÉrÉbÉgêÆêîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅBÅiñÛíç:å¥ï∂ÇÃtimeStampÇsizeÇ…í˘ê≥Åj
FBCVolumeIndexPhysicalSizeÇÕÉ{ÉäÉÖÅ[ÉÄÇÃÉCÉìÉfÉbÉNÉXÉtÉ@ÉCÉãÇÃëÂÇ´Ç≥ÇÉoÉCÉgÇ≈ï‘ǵNjÇ∑ÅB
ÉqÅ[ÉvóÃàÊÇó\ñÒÇ∑ÇÈ
FBCÇÃÉNÉâÉCÉAÉìÉgÇÕåüçıÇçsǧëOÇ…ÅAÉRÅ[ÉãÉoÉbÉNÉãÅ[É`ÉìópÇÃóÃàÊÇÉqÅ[ÉvÉ]Å[ÉìÇ…ó\ñÒÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
FBCSetHeapReservation
void FBCSetHeapReservation(UInt32 bytes);
bytesÇ…ÇÕó\ñÒǵÇΩÇ¢ÉoÉCÉgêîÇé¶Ç∑êÆêîílÇéwíËǵNjÇ∑ÅB
FBCSetHeapReservationÇ…ÇÕÅAåüçıÇÃä‘Ç…ÉNÉâÉCÉAÉìÉgÇÃÉRÅ[ÉãÉoÉbÉNÉãÅ[É`ÉìÇ™åƒÇŒÇÍÇΩÇΔÇ´Ç…ÅAFBCÇ™ï€èÿÇµÇ»ÇØÇÍnjǻÇÁǻǢÉAÉvÉäÉPÅ[ÉVÉáÉìÅEÉqÅ[ÉvÉ]Å[ÉìÇÃÉoÉCÉgêîÇéwíËǵNjÇ∑ÅBLJǵñæé¶ìIÇ…ÉqÅ[ÉvÉXÉyÅ[ÉXÇ™ó\ñÒÇ≥ÇÍǻǩǡÇΩèÍçáÅA200KÇ™ó\ñÒÇ≥ÇÍÇ‹Ç∑ÅB
ÉAÉvÉäÉPÅ[ÉVÉáÉìíËã`ÉãÅ[É`Éì
ÉNÉâÉCÉAÉìÉgÇÕåüçıÇÃç≈íÜÇ…íËä˙ìIÇ…åƒÇŒÇÍÇÈÉãÅ[É`ÉìÇíËã`Ç∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBDZÇÃÉãÅ[É`ÉìÇ…ÇÊÇËÉNÉâÉCÉAÉìÉgÇÕåüçıÇÃèÛë‘Ç…ä÷Ç∑ÇÈèÓïÒÇìæÇÈDZÇΔÇ™Ç≈Ç´ÅAåüçıÇ™äÆóπÇ∑ÇÈëOÇ…åüçıÇéÊÇËè¡Ç∑ã@âÔÇéùǬDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB
ÉRÅ[ÉãÉoÉbÉNÉãÅ[É`ÉìÇÕà»â∫ÇÃÇÊǧDžíËã`ǵNjÇ∑ÅB
FBCCallbackProcPtr
typedef Boolean (*FBCCallbackProcPtr)(
UInt16 phase,
float percentDone,
void *data);
phaseÇÕåüçıÇÃåªç›ÇÃèÛë‘Çé¶Ç∑à»â∫ÇÃíËêîÇÃÇ–ÇΔǬÇä‹Çfi16ÉrÉbÉgÇÃêÆêîÇ≈Ç∑
enum
{
kFBCphSearching = 6,
kFBCphMakingAccessAccessor = 7,
kFBCphAccessWaiting = 8,
kFBCphSummarizing = 9,
kFBCphIdle = 10,
kFBCphCanceling = 11
};
percentDoneÇÕêiçsèÛãµÇï\Ç∑0.0-1.0ÇÃílÇ≈Ç∑ÅB
dataÇ…ÇÕFBCSetCallbackÇÃdataÉpÉâÉÅÅ[É^Ç≈ìæÇÁÇÍÇÈLJÇÃÇΔìØÇ∂ílÇ™ä‹Ç‹ÇÍÇ‹Ç∑ÅB
åüçıÇÃêiçsíÜÇ…ÉVÉXÉeÉÄÇ™ÉçÉbÉNÇ∑ÇÈDZÇΔÇñhÇÆÇΩÇflÅAÉRÅ[ÉãÉoÉbÉNÉãÅ[É`ÉìÇÕÅAíºê⁄ìIdžÇÈÇ¢ÇÕä‘ê⁄ìIÇ…WaitNextEventÇåƒÇŒÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBÉRÅ[ÉãÉoÉbÉNä÷êîÇ™trueÇï‘ǵÇΩèÍçáÅAêiçsíÜÇÃåüçıÇÕéÊÇËè¡Ç≥ÇÍÇ‹Ç∑ÅB
void FBCSetCallback(FBCCallbackProcPtr fn, void* data);
fnÇÕÉRÅ[ÉãÉoÉbÉNä÷êîÇ÷ÇÃÉ|ÉCÉìÉ^Ç≈Ç∑ÅB
dataÇÕÉRÅ[ÉãÉoÉbÉNä÷êîÇ÷ìnÇ≥ÇÍÇÈílÇ≈Ç∑ÅB
FBCSetCallbackÇÕåüçıÇÃä‘Ç…åƒÇŒÇÍÇÈÉRÅ[ÉãÉoÉbÉNä÷êîÇê›íËǵNjÇ∑ÅBÉNÉâÉCÉAÉìÉgÇ™ÉRÅ[ÉãÉoÉbÉNä÷êîÇíËã`ǵǻǢèÍçáÅAÉfÉtÉHÉãÉgÇÃÉRÅ[ÉãÉoÉbÉNä÷êîÇ™égÇÌÇÍÇ‹Ç∑ÅBÉfÉtÉHÉãÉgÇÃÉRÅ[ÉãÉoÉbÉNä÷êîÇÕwaitNextEventÇåƒÇÒÇ≈ÅAfalseÇï‘ǵNjÇ∑
ì‡óeÇ…ÇÊÇÈåüçı(Find By Content)ÇÃCåæåÍóvñÒ
íËêî
enum
{
gestaltFBCIndexingState = 'fbci',
gestaltFBCindexingSafe = 0,
gestaltFBCindexingCritical = 1
};
enum
{
gestaltFBCVersion = 'fbcv',
gestaltFBCCurrentVersion = 0x0011
};
enum /* error codes */
{
kFBCvTwinExceptionErr = -30500,
/* miscellaneous error */
kFBCnoIndexesFound = -30501,
kFBCallocFailed = -30502,
/*probably low memory*/
kFBCbadParam = -30503,
kFBCfileNotIndexed = -30504,
kFBCbadIndexFile = -30505,
/*bad FSSpec, or bad data in file*/
kFBCtokenizationFailed = -30512,
/*couldn't read from document or query*/
kFBCindexNotFound = -30518,
kFBCnoSearchSession = -30519,
kFBCaccessCanceled = -30521,
kFBCindexNotAvailable = -30523,
kFBCsearchFailed = -30524,
kFBCsomeFilesNotIndexed = -30525,
kFBCillegalSessionChange = -30526,
/*tried to add/remove vols */
/*to a session that has hits*/
kFBCanalysisNotAvailable = -30527,
kFBCbadIndexFileVersion = -30528,
kFBCsummarizationCanceled = -30529,
kFBCbadSearchSession = -30531,
kFBCnoSuchHit = -30532
};
enum /* codes sent to the callback routine */
{
kFBCphSearching = 6,
kFBCphMakingAccessAccessor = 7,
kFBCphAccessWaiting = 8,
kFBCphSummarizing = 9,
kFBCphIdle = 10,
kFBCphCanceling = 11
};
|
ÉfÅ[É^É^ÉCÉv
/* A collection of state information for searching*/
typedef struct OpaqueFBCSearchSession* FBCSearchSession;
/* An ordinary C string (used for hit/doc terms)*/
typedef char* FBCWordItem;
/* An array of WordItems*/
typedef FBCWordItem* FBCWordList;
|
ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃäÑÇËìñǃÇΔèâä˙âª
OSErr FBCCreateSearchSession(
FBCSearchSession* searchSession);
OSErr FBCDestroySearchSession(
FBCSearchSession theSession);
OSErr FBCCloneSearchSession(
FBCSearchSession original,
FBCSearchSession* clone);
|
ÉTÅ[É`ÅEÉZÉbÉVÉáÉìÇÃç\ê¨
OSErr FBCAddAllVolumesToSession(
FBCSearchSession theSession,
Boolean includeRemote);
OSErr FBCSetSessionVolumes(
FBCSearchSession theSession,
const SInt16 vRefNums[ ],
UInt16 numVolumes);
OSErr FBCAddVolumeToSession(
FBCSearchSession theSession,
SInt16 vRefNum);
OSErr FBCRemoveVolumeFromSession(
FBCSearchSession theSession,
SInt16 vRefNum);
OSErr FBCGetSessionVolumeCount(
FBCSearchSession theSession,
UInt16* count);
OSErr FBCGetSessionVolumes(
FBCSearchSession theSession,
SInt16 vRefNums[ ],
UInt16* numVolumes);
|
åüçıÇÃé¿çs
OSErr FBCDoQuerySearch(
FBCSearchSession theSession,
char* queryText,
const FSSpec targetDirs[ ],
UInt32 numTargets,
UInt32 maxHits,
UInt32 maxHitWords);
OSErr FBCDoExampleSearch(
FBCSearchSession theSession,
const UInt32* exampleHitNums,
UInt32 numExamples,
const FSSpec targetDirs[ ],
UInt32 numTargets,
UInt32 maxHits,
UInt32 maxHitWords);
OSErr FBCBlindExampleSearch(
FSSpec examples[ ],
UInt32 numExamples,
const FSSpec targetDirs[ ],
UInt32 numTargets,
UInt32 maxHits,
UInt32 maxHitWords,
Boolean allIndexes,
Boolean includeRemote,
FBCSearchSession* theSession);
|
ÉqÉbÉgèÓïÒÇÃéÊìæ
OSErr FBCGetHitCount(
FBCSearchSession theSession,
UInt32* count);
OSErr FBCGetHitDocument(
FBCSearchSession theSession,
UInt32 hitNumber,
FSSpec* theDocument);
OSErr FBCGetHitScore(
FBCSearchSession theSession,
UInt32 hitNumber,
float* score);
OSErr FBCGetMatchedWords(
FBCSearchSession theSession,
UInt32 hitNumber,
UInt32* wordCount,
FBCWordList* list);
OSErr FBCGetTopicWords(
FBCSearchSession theSession,
UInt32 hitNumber,
UInt32* wordCount,
FBCWordList* list);
OSErr FBCDestroyWordList(
FBCWordList theList,
UInt32 wordCount);
OSErr FBCReleaseSessionHits(
FBCSearchSession theSession);
|
ÉeÉLÉXÉgÇÃóvñÒ
OSErr FBCSummarize(
void* inBuf,
UInt32 inLength,
void* outBuf,
UInt32* outLength,
UInt32* numSentences);
|
É{ÉäÉÖÅ[ÉÄÇÃä÷Ç∑ÇÈèÓïÒÇÃéÊìæ
Boolean FBCVolumeIsIndexed (SInt16 theVRefNum);
Boolean FBCVolumeIsRemote(SInt16 theVRefNum);
OSErr FBCVolumeIndexTimeStamp(SInt16 theVRefNum,
UInt32* timeStamp);
OSErr FBCVolumeIndexPhysicalSize(SInt16 theVRefNum,
UInt32* size);
|
ÉqÅ[ÉvóÃàÊÇÃéÊìæ
void FBCSetHeapReservation(UInt32 bytes);
|
ÉAÉvÉäÉPÅ[ÉVÉáÉìíËã`ÉãÅ[É`Éì
typedef Boolean (*FBCCallbackProcPtr)(
UInt16 phase,
float percentDone,
void *data);
void FBCSetCallback(FBCCallbackProcPtr fn, void* data);
|
|